全文预览

微机原理与接口技术课后习题答案郭兰英

上传者:非学无以广才 |  格式:doc  |  页数:28 |  大小:985KB

文档介绍
start 3.24 编写计算 100 个 16 位正整数之和的程序。如果和不超过 16 位字的范围( 65535 ), 则保存其和到 wordsum ,如超过则显示‘ overflow ’。答: ;数据段 count equ 100 parray dw count dup(?) ;假设有 100 个数据 wordsum dw0 msg db‘ overflow ’,’$’;代码段 mov cx,count mov ax,0 mov bx,offset parray again: add ax,[bx] jnc next mov dx,offset msg mov ah,9 int 21h ;显示溢出信息 jmp done ;然后,跳出循环体 next: add bx,2 loop again mov wordsum,ax done: … 3.25 编程把—个 16 位无符号二进制数转换成为用 8421BCD 码表示的 5 位十进制数。转换算法可以是: 用二进制数除以 10000 , 商为“万位”, 再用余数除以 1000 , 得到“千位”; 依次用余数除以 l00 、 10和l ,得到“百位”、“十位”和“个位”。;wjxt325.asm .model small .stack 256 .data array dw? ;源字数据 dbcd db5 dup(?) ;五位 bcd 结果,高对高低对低.code .startup mov dx, array ;取源数据(余数) mov bx, 10000 ;除数 mov cx, 10 ;除数系数 mov si, 4 ;目的数据高位位移量 again: mov ax, dx; dx.ax 中存放被除数 mov dx, 0 div bx ;除于 bx ,商 ax ,余数 dx mov dbcd[si], al ;商< 10 ,存结果

收藏

分享

举报
下载此文档