abs int 巨集定義 組合語言第七章答案

2021-10-25 17:19:15 字數 858 閱讀 2507

rept 7

store %i

i=i+1

endm

7.11 試編寫一段程式完成以下功能,如給定名為x的字串長度大於5時,下列指令將彙編10次。

add ax, ax

答:程式段如下:

x db 『abcdefg』

if ($-x) gt 5

rept 10

add ax, ax

endm

endif

答:巨集定義如下:

calcula te macro a, b, result ;;計算result←2*a+b

mov ax, a

shl ax, 1

add ax, b

mov result, ax

endm

finsum macro x, y, sum

if x gt y

calcula te y, x, sum

else

calcula te x, y, sum

endif

endm

7.13 試編寫一段程式完成以下功能:如變元x=『vt55』,則彙編mov terminal, 0;否則彙編

mov terminal, 1。

答:巨集定義如下:

branch macro x

ifidn ,

mov terminal, 0

else

mov terminal, 1

endif

endm

7.14 對於dos功能呼叫,所有的功能呼叫都需要在ah暫存器中存放功能碼,而其中有一些功能需要在dx中放乙個值。試定義巨集指令dos21,要求只有在程式中定義了緩衝區時,彙編為:

組合語言定義延時巨集

下面 在masm上利用延時巨集實現迴圈輸出00 99數字,程式執行時如果按下esc鍵可終止輸出結束程序。delay macro time 延時巨集 local p1,p2 pusha mov dx,time mov ah,1 不等待 int 16h jz p1 沒有輸入zf 1 cmp ah,1 e...

組合語言程式設計第七章

一 and和or指令 and指令 邏輯與指令,按位進行與運算。通過該指令可以將操作物件的相應位設為0,其他位不變。or指令 邏輯或指令,按位進行或運算。通過該指令可以將操作物件的相應位設為1,其他位不變。二 關於ascii碼 三 以字元形式給出的資料 在匯程式設計序中,用 的形式指明資料是以字元的形...

組合語言 第七章實驗6

採用基址變址定址 bx si 採用棧,外層迴圈開始時,將cx入棧,內層迴圈開始時,改變cx的值,內層迴圈結束時,將棧中的值pop出,傳給cx。ascll 大寫 ascll 小寫 a 0100 0001 a 0110 0001 字母用八位二進位制數表示,大小寫的區別是第 位上 和 的區別。大寫字母 小...