『壹』 匯編語言 子程序設計
數放在ax裡面
MOV AX,DATAS
MOV DS,AX
mov ax,0f2h
mov cl,4
push ax
shl ax,cl
cmp ah,9
ja n1
add ah,30h
mov dl,ah
mov ah,02h
int 21h
jmp n2
n1:
add ah,37h
mov dl,ah
mov ah,02h
int 21h
n2:
pop ax
and al,0fh
cmp al,9
ja n3
add al,30h
mov dl,al
mov ah,02h
int 21h
jmp n4
n3:
add al,37h
mov dl,al
mov ah,02h
int 21h
n4:
mov ah,4ch
int 21h
上面是16進制輸出
『貳』 匯編語言程序中,已經知道主程序,怎麼找主程序中的子程序
call xxx 是調用子程序。
xxx就是子程序名。用文本查找方式找到xxx:就是這個子程序開始位置。
『叄』 匯編語言子程序是如何定義的
這樣定義的:
子程序名 PROC NEAR|FAR
.
.
RET
子程序名 ENDP
子程序名相當於標號,表示本過程的符號地址。過程有NEAR和FAR兩種類型,FAR型的過程可供段間調用,NEAR型過程僅供段內調用。
在一個過程中,至少要有一條返回指令RET,它可以書寫在過程中的任何位置,但是過程執行的的最後一條指令一定是RET。
注意事項
一、子程序調用指令
格式:CALL [NEAR PTR] 子程序名
CALL指令的兩個作用,1.將斷點地址(CALL指令的下一條指令地址)壓棧保存,2.轉去子程序執行。
[NEAR PTR]可以省略。
二、返回指令
格式:RET [N]
指令作用:實現子程序執行完後返回主程序的指令。從堆棧棧頂彈出一個字數據(段內調用)送入IP作為返回地址。N是立即數,執行完RET之後,再將SP增加N,也叫「平棧」。
『肆』 用匯編語言編寫子程序後如何調用
通過C語言函數形式封裝匯編語言程序段,而後就可完全按照C語言函數的形式內調用。這種方法保證了容子程序段與主程序銜接的完全適配,使用簡便。使用方法如下:
用低劃線_後接關鍵字asm指示後面的語句是匯編語句。匯編語句既可以是單句,例如__asm
mov
bx,1;也可以是復合語句,即,用花括弧對包含的多條單句,例如:
__asm
{
mov
al,
3
mov
dx,
0xE008
add
ax,dx
}
在語法規則中,這些語句與C語言的語句完全等價。因此,可以直接進行編譯。
『伍』 匯編程序放再計算機的哪裡
你問的問題令人很暈
匯編是一種編程語言
是編程語言
WINDOWS是程序
WINDOWS是用C語言編寫出來的
C語言也是一種編程語言
把編程語言轉化成可執行程序的軟體叫做編譯器
每種語言都有編譯器
有的語言有很多不同版本的編譯器
當源程序被編譯器轉化成可執行程序後
就可以獨立運行
WINDOWS就是一個程序
它跟匯編壓根沒有任何關系
機器語言也是一種語言
計算機可以直接運行機器語言編寫的程序
不需要編譯
其實編譯的過程就是把其他語言的程序轉換成機器語言的過程