首页 新闻 会员 周边 捐助

编制计算下列表达式的程序:w=x/2-y+4*z(其中:x,y,z均为带符号字节类型的数)并输出!!!

0
悬赏园豆:30 [待解决问题]

 stack segment stack'stack' 

dw 32 dup(0) 

stack ends 

data    segment 

W  db  5 DUP(0) 

X  db  10  

Y  db  5 

Z  db   6 

data  ends  

assume ss:stack,cs:code,ds:data 

code segment 

start:  mov ax,data 

      mov ds,ax 

       mov cl,2 

mov al,X 

sar al,1 

mov bl,Y 

      sub al,bl 

      mov bl,Z 

sal bl,cl 

add al,bl 

mov ah,W 

      mov ah,al 

mov ah,4ch 

int 21h  

 code ends  

 end start 

我写的这个有问题么?这段代码还要写什么才能在屏幕上输出计算结果

*润物无声*的主页 *润物无声* | 初学一级 | 园豆:172
提问于:2015-03-28 10:42
< >
分享
所有回答(1)
0

可以通过DOS中断来输出:

1.输出字符
mov dl,'a';将输出字符存入DL寄存器
mov ah,02h
int 21h
2.输出单个数字0-9
mov dl,0
add dl,30h;变为ASCII
mov ah,02h
int 21h
3.输出一字符串
如在数据段中
str db 'input a number:$'
输出
mov dx,offset str
mov ah,09h
int 21h
4.输出多位数(包括以十进制,十六进制,八进制,二进制输出)
这时要多次调用以上的输出格式
如输出多位十进制数的子程序
bini proc near
mov cx,10000d
call bin
mov cx,1000d
call bin
mov cx,100d
call bin
mov cx,10d
call bin
mov cx,1d
call bin
ret
bini endp

bin proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,02h
int 21h
ret
bin endp

LiuKaiFa | 园豆:1491 (小虾三级) | 2015-03-28 21:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册