当前位置:首页 > 微机原理和接口技术李珍香版课后习题集4参考答案解析
next:mov al,[bx] cmp al,'a' jb lop cmp al,'z' ja lop sub al,20h mov [bx],al lop: inc bx dec cl jnz next mov ah,4ch int 21h code ends end start
4.11 编写一个带符号数四则运算的程序,完成(Z-(X*Y+200))/20的运算,商送V单元,余数送W单元。这里,X,Y,Z均为16位的带符号数,内容用户自己定义。
参考程序:
DATA SEGMENT x DW 2
y dw -10 z dw 300 v dw ? w dw ? DATA ENDS code segment
assume cs:code,ds:data start:
mov ax,data mov ds,ax mov ax,x mov bx,y imul bx mov cx,200 mov bx,0 add ax,cx adc dx,bx mov cx,z mov bx,0
sub cx,ax sbb bx,dx xchg cx,ax xchg bx,dx mov bx,20 idiv bx mov v,ax mov w,dx mov ah,4ch int 21h code ends end start
4.12 编写一个汇编语言程序,完成以下要求。从BUF单元处定义有10个带符号字数据:-1、3、24、94、62、72、55、0、-48、99,试找出它们中的最大值和平均值,并依次分别存放至该数据区的后2个单元中(假设这10个数的和值不超过16位)。
参考程序:
DATA SEGMENT
buf DW -1,3,24,94,62,72,55,0,-48,99 n equ ($-buf)/2
max dw ? ave db ?,? DATA ENDS code segment
assume cs:code,ds:data start:
mov ax,data mov ds,ax lea si,buf clc xor ax,ax xor dx,dx mov ax,[si] mov cx,n next:adc dx,[si] cmp ax,[si] jge goon mov ax,[si] goon:add si,2
共分享92篇相关文档