彙編子程式呼叫及返回

2021-03-10 19:22:37 字數 727 閱讀 5792

1樓:匿名使用者

與子程式毫bai無關係。

主程式du結構有毛病,有二:zhi

1、未給資料段

dao、堆疊內段暫存器賦值;容

2、mov bx,0b125h

call showhex

之後,未直接結束程式,而是又繼續執行子程式。

2樓:匿名使用者

應該抄是襲這bai樣du的zhi

:daorlty dw 0

dseg ends

cseg segment

assume cs:cseg,ds:dseg,ss:ssegstart:

mov bx,0b125h

call showhexmov ax,4c00hint 21hshowhex : ;proc nearmov cx,0404h

lp: rol bx,cl

mov al,bl

and al,0fh

cmp al,0ah

jb next

add al,07h

next: add al,30h

mov dl,al

mov ah,02h

int 21h

dec ch

cmp ch,0

ja lp

ret;showhex endp

cseg ends

end start

什麼的子程式只執行不返回

void 型別的,過程不會返回 我仔細看了一下所有人的回答,有根本沒看懂樓主問題答非所問的,也有回答的差不離的,我來切一下重點好了。樓主這所有問題其實歸根結底就是乙個問題,堆疊和sp 堆疊指標 的問題 call指令執行時,就是先把當前程式指標壓入堆疊並使sp加1,然後開始執行call指令呼叫的子程式...

組合語言怎麼樣用子程式計算

子程式如下 內容 add proc near mov cx,10 mov bx,0 again mov ax,1 add bx,ax inc ax loop again add endpret 主要 xor cx,cx mov cl,10 xor ax,ax xor bx bx l1 inc ax ...

FORTRAN的子程式能返回複數嗎

當然沒問題 給你個例子看專屬看 在fortran語言中描述乙個複數,但是實部是變數,怎麼寫 za cmplx zr zi 這樣就可以了 fortran怎樣輸入複數?比如3 2i program www fcode cn implicit none complex c read c write c e...