用16位指令编写完整的程序,并上机测试,计算W=(x+y)*z,其中所有变量均为16位带符号变量。
注意伪指令的使用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
data segment x db 7 y db -3 z db 2 w db ? data ends;定义数据段,其中X,Y,Z为一个字节,V为16位结果字节 code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,0 mov al,x adc al,y mov bl,z imul bl lea bx,w mov [bx],ax add al,30h mov dl,al mov ah,02h int 21h mov ah,4ch int 21h code ends end start |
用16位指令编制程序,处理32位的加减乘除算术四则运算题。
本文计算(3*X+Y-Z)/5的值请看