子程式設計時
push bp
mov bp, sp
sub sp, 2
再push其他需要儲存的暫存器,這樣可以不受儲存要暫存器個數的影響,用
bp+4
定位到第乙個引數
,且釋放區域性變數空間時使用
mov sp, bp
即可。巨集呼叫中的引數如果有小於
符號,需要轉義,寫為
**定式:
if()while()
do_begin:
jcc do_begin
do_end:
while(){
while_begin:
jcc while_end
jmp while_begin
while_end:
for(for_init; for_cmp; for_step){
for_body
for_init:
jmp for_cmp
for_step:
for_cmp:
jcc for_end
for_body:
jmp for_step
for_end:
switch(i){
case 0:
break;
case 1:
...//無
break;
case 2:
break;
case 4:
break;
default:
break;
code segment
case_0:
jmp switch_end
case_1:
case_2:
jmp switch_end
case_4:
jmp switch_end
case_de****t:
jmp switch_end
switch_end:
retcase_table dw offset case_0,
offset case_1,
offset case_2,
offset case_de****t,
offset case_4
ends
子程式設計
知識提要 掌握子程式的定義語句 過程名 proc near far 過程體ret 過程名 endp 其中過程名的命名方法與變數名相同,同一源程式中不能有相同的過程名.proc為過程定義開始的偽指令,endp為過程定義結束偽指令,且proc endp必須配對使用。配對的proc endp前面的過程名應...
二十 子程式設計(函式)
把具有一定功能的程式段封裝成子程式,以供它人呼叫。引數 告訴子程式將要處理哪些數值。結果 子程式運算後的結果值。加法運算 assume cs code,ds data,ss stack data segment data ends stack segment dw 256 dup 0h stack ...
彙編 實驗8 子程式設計
1 程式設計求下列和值 s 1 2 3 1 2 3 4 1 2 3 4 5 將和值存放在資料段偏移位址為 1000h起始的單元中。data segment org 1000h x db 100 dup data ends code segment assume cs code,ds data sta...