匯編-PROC定義子過程(函數)

過程定義

過程用PROC和ENDP偽指令來聲明, 并且必須為其分配一個名字(有效的標識符) 。目前為止, 我們所有編寫的程序都包含了一個main過程, 例如:

當要創建的過程不是程序的啟動過程時, 就用RET指令來結束它。RET強制CPU返回到該過程被調用的地方:

過程中的標號

在默認情況下,代碼標號只在其被聲明的過程內可見,這個規則常常影響到跳轉和循環指令.

解決這個限制的方法是聲明全局標號?, 即在名字后面加雙冒號(::)?

就程序設計而言,跳轉或循環到當前過程之外不是個好主意

USES自動壓棧和出棧指定的寄存器
?

USES操作符與PROC偽指令一起使用,能自動壓棧和出棧指定的寄存器


.386  
.model flat,stdcall 
option casemap:none
.stack 4096.data   
var DWORD 1010h,2020h,3030h,4040hExitProcess PROTO,dwExitCode:DWORD      .code  ArraySum PROC USES esi ecx   ;子過程
mov esi,OFFSET var
mov ecx,4040h
add ecx,2
ret
ArraySum ENDPmain PROC   mov esi,1010hmov ecx,2020hcall ArraySumINVOKE ExitProcess,0  
main ENDP   
END main  

說明:1.在子過程第一條語句執行之前(在mov esi,OFFSET var之前),先PUSH指定的寄存器

? ? ? ? 2.在執行ret之前,先執行POP指定的寄存器

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161430.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161430.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161430.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Bean依賴注入注解開發

value Value("xfy")private String userName;private String userName;Value("xiao")public void setUserName(String userName) {this.userName userName;} Autowired // 根據類型進行注入 如果同一類型的Bean有多個,嘗試根基名字進行二次…

AIGC,ChatGPT AI繪畫 Midjourney 注冊流程詳細步驟

AI 繪畫,Midjourney完成高清圖片繪制,輕松掌握AI工具。 前期準備: ① 一個能使用的谷歌賬號 ② 可以訪問外網 Midjourney注冊 1.進入midjourney官網https://www.midjourney.com 點擊左下角”Join the Beta”,就可以注冊,第一次使用的小伙伴會彈出提示,只需要點擊Acc…

2019年12月 Scratch(三級)真題解析#中國電子學會#全國青少年軟件編程等級考試

Scratch等級考試(1~4級)全部真題?點這里 一、單選題(共25題,每題2分,共50分) 第1題 怎樣修改圖章的顏色? A:只需要一個數字來設置顏色 B:設置RGB的值 C:在畫筆中設置顏色、飽和度、亮度 D:在外觀中設置或修改角色顏色特效 答案:D 在外觀中設置或修改角色顏色特…

【深度學習】臉部修復,CodeFormer,論文,實戰

代碼: https://github.com/sczhou/CodeFormer 論文:https://arxiv.org/abs/2206.11253 Towards Robust Blind Face Restoration with Codebook Lookup Transformer 文章目錄 論文摘要1 引言2 相關工作**4 實驗****4.1 數據集****4.2 實驗設置和指標***…

【ArrayList是如何擴容(ArrayList、LinkedList、與Vector的區別)】

ArrayList、LinkedList、與Vector的區別 解讀ArrayList 是一個可改變大小的數組LinkedList 是一個雙向鏈表Vector 屬強同步類 拓展知識面ArrayList是如何擴容?如何利用List實現LRU? 解讀 List主要有ArrayList、LinkedList與Vector幾種實現。這三者都實現…

[論文筆記] Scaling Laws for Neural Language Models

概覽: 一、總結 計算量、數據集大小、模型參數量大小的冪律 與 訓練損失呈現 線性關系。 三個參數同時放大時,如何得到最佳的性能? 更大的模型 需要 更少的樣本 就能達到相同的效果。 </

開源WIFI繼電器之源代碼

源代碼:WiFiRelay: 基于ESP8285的WiFi繼電器代碼

筆記本外接顯示器的一些基本操作

1>&#xff0c;安裝問題直接問客服&#xff0c;正常情況是將顯示屏接上電源&#xff0c;然后用先將顯示屏和筆記本的HDMI接口連接即可。 按下組合鍵 win p ,選擇 “復制”。 2>&#xff0c;接上顯示屏后&#xff0c;原筆記本無聲音&#xff1f; 1、找到筆記本電腦右下…

Doris 建表示例(七)

建表語法 使用 CREATE TABLE 命令建立一個表(Table)。更多詳細參數可以查看&#xff1a; HELP CREATE TABLE; 建表語法&#xff1a; CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [database.]table_name(column_definition1[, column_definition2, ...][, index_definition1[, i…

阿里云99元服務器ECS經濟型e實例性能如何?測評來了

阿里云服務器優惠99元一年&#xff0c;配置為云服務器ECS經濟型e實例&#xff0c;2核2G配置、3M固定帶寬和40G ESSD Entry系統盤&#xff0c;CPU采用Intel Xeon Platinum架構處理器&#xff0c;2.5 GHz主頻&#xff0c;3M帶寬下載速度384KB/秒&#xff0c;上傳速度1028KB/秒&am…

人工智能對我們的生活影響

目錄 前言 一、人工智能的領域 二、人工智能的應用 三、對人工智能的看法 總結 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高興與大家相識&#xff0c;希望我的博客能對你有所幫助。 &#x1f4a1;本文由Filotimo__??原創&#xff0c;首發于CSDN&#x1f4…

運算與表達式模板(第一節)

目錄 前言 一、表達式模板簡介 為什么引入表達式模板&#xff1f; 緩式求值&#xff08;Memoization&#xff09; 關系 好處 前言 一個深度學習框架的初步實現為例&#xff0c;討論如何在一個相對較大的項目中深入應用元編程&#xff0c;為系統優化提供更多的可能。 以…

阿里云服務器ECS經濟型e實例優惠99元性能怎么樣?

阿里云服務器ECS經濟型e實例優惠99元性能怎么樣&#xff1f;阿里云服務器優惠99元一年&#xff0c;配置為云服務器ECS經濟型e實例&#xff0c;2核2G配置、3M固定帶寬和40G ESSD Entry系統盤&#xff0c;CPU采用Intel Xeon Platinum架構處理器&#xff0c;2.5 GHz主頻&#xff0…

使用NPOI處理EXCEL文件:例1-關于優化的一些問題

記得有一次處理Excel文件對比&#xff0c;自己前后使用VBA和NPOI對比了下效率。由于涉及到頁面的渲染和刷新&#xff0c;二者的處理速度差了個數量級&#xff08;10多秒和幾十分鐘的差別&#xff09;。當然使用NPOI操作時也做了一定優化。印象這么深刻這次一有需求就想到了NPOI…

千云物流 - 使用k8s負載均衡openelb

openelb的介紹 具體根據官方文檔進行安裝官方文檔,這里作為測試環境的安裝使用. OpenELB 是一個開源的云原生負載均衡器實現,可以在基于裸金屬服務器、邊緣以及虛擬化的 Kubernetes 環境中使用 LoadBalancer 類型的 Service 對外暴露服務。OpenELB 項目最初由 KubeSphere 社區…

redis的性能管理及集群架構(主從復制、哨兵模式)

一、redis的性能管理 1、內存指標info memory 內存指標&#xff08;重要&#xff09; used_memory:853736 數據占用的內存 used_memory_rss:10551296 redis向操作系統申請的內存 used_memory_peak:853736 redis使用內存的峰值 注&#xff1a;單位&#xff1a;字節 系…

策略模式應用(內窺鏡項目播放不同種類的視頻)

新舊代碼對比 策略模式 基本概念 策略模式是一種行為設計模式&#xff0c;它定義了一系列算法&#xff0c;將每個算法封裝起來&#xff0c;并且使它們可以互相替換。策略模式允許客戶端選擇算法的具體實現&#xff0c;而不必改變客戶端的代碼。這樣&#xff0c;客戶端代碼就…

中國區域250米歸一化植被指數數據集(2000-2022)

中國區域250米歸一化植被指數數據集(2000-2022)數據集是中國區域2000至2022年月度歸一化植被指數產品&#xff0c;空間分辨率250米&#xff0c;合成方式采用月最大值合成&#xff0c;每年12期&#xff0c;共275期。本產品是基于Aqua/Terra-MODIS衛星傳感器MOD13Q1產品以及土地利…

寄存器、緩存、內存之間的關系和區別

https://blog.csdn.net/m0_46761060/article/details/124689209 目錄 關系1、寄存器2、緩存&#xff08;Cache&#xff09; 2.1、寄存器和緩存的區別2.2、一級緩存和二級緩存3、內存 3.1、只讀存儲器 ROM&#xff08;Read Only Memory&#xff09;3.2、隨機存儲器 RAM&#xf…

基于LLM+場景識別+詞槽實體抽取實現多輪問答

前言 隨著人工智能技術的不斷進步&#xff0c;大語言模型&#xff08;LLM&#xff09;已成為技術前沿的熱點。它們不僅能夠理解和生成文本&#xff0c;還能在多種應用場景中實現復雜的交互。本文將深入探討一段結合了大語言模型能力、意圖識別和詞槽實體抽取的Python代碼&…