作业微机原理的.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.1 在下列程序运行后,给相应的寄存器佶存储器单元填入运行的结果。 mov al,10h mov cx,1000h mov bx,2000h mov [cx],al xchg cx,bx mov dh,[bx] mov dl,01h xchg cx,bx mov [bx],dl hlt 结果: Ds:1000=10h Ds:2000=01h Cx=1000h Bx=2000h Dx=1001h Al=10h 4.11 自0500h单元开始,有10个无符号数,编写程序,求这十个数的和(用八位数运算指令),把和放到050a和050b单元中(和用两个字节表示),且高位在050b单元。 data segment num db 1ah,2ah,34h,56h,7bh,7ch,27h,38h,49h,6eh ;the result is 02DB data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov bl,0 mov si,050ah mov [si],bl mov si,050bh mov [si],bl mov si,0500h mov di,0 mov bx,050ah mov cx,10 loop1: mov al,num[di] mov [si],al mov ah,[si] add [bx],ah inc si inc di adc byte ptr[bx+1],0 clc loop loop1 mov ax,4c00h int 21h code ends end start 4.4 利用变址寄存器,编写一段程序,把自1000h单元开始的100个数传到自1070h开始的存储区中。 data segment data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov cx,99 mov si,1000h mov di,1070h loop1: mov ax,[si] mov [di],ax inc si inc di loop loop1 mov ax,4c00h int 21h code ends end start 4.17 若在存储器中有数a,b,c,d(他们连续存放),编写一个程序实现下列算式: ((a*10+b)*10+c)*10+d (和=65535) data segment num dw 001ah,0026h,002ch,0045h ;the result is 7665 result dw 1 dup(0) data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov si,0 mov cx,3 mov bx,000ah mov ax,num[si] loop1: mul bx inc si inc si add ax,num[si] loop loop1 mov result,ax mov ax,4c00h int 21h code ends end start 4.18 在0100H单元和010aH单元开始,存放两个各为10个字节的BCD数( 地址最低处放的是最低字节),求他们的和,且把和存入0114H开始的存储单元 中。 data segment num1 db 0a1h,0a2h,0a3h,0a4h,0a5h,0b1h,0b2h,0b3h,0b4h,0b5h num2 db 0c1h,0c2h,0c3h,0c4h,0c5h,0d1h,0d2h,0d3h,0d4h,0d5h data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax clc mov bx,0114h mov si,0 mov di,0 mov cx,10 loop1: mov ah,num1[si] mov [di+0100h],ah mov al,num2[si] mov [di+010ah],al adc ah,al mov [bx],ah inc si inc di inc bx loop loop1 mov al,0 mov [bx],al adc byte ptr [bx],0 mov ax,4c00h int 21h code ends end start 结果如图:01 8B 89 87 85 83 B6 69 67 65 62 . 4.20 在0200H单元中开始放有数A(低位在前): NA=95 43 78 62 31 04 56

文档评论(0)

solow + 关注
实名认证
文档贡献者

公共营养师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月13日上传了公共营养师

1亿VIP精品文档

相关文档