汇编语言_实验九_根据材料编程

本文分享了MASM编程实验的三个案例,包括简单的除法运算显示、数组元素的逐个输出以及字符串到视频内存的复制。作者通过实验探讨了MASM编程的技巧和挑战,反思了代码的效率和美感。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

四、实验结论

 

1.

源程序:

assume cs:code, ds:data

data segment

     db 12

     db 0,0 

data ends

code segment

start:

      mov ax,data

      mov ds,ax     

     

      mov ah,0

      mov al,ds:[0] 

      mov bl,10

      div bl

      mov  ds:[1],al 

      mov  ds:[2],ah  

 

      mov ah,2

      mov dl,[1]  

      add dl,30h      

      int 21h

 

      mov ah,2

      mov dl,[2]    

      add dl,30h   

      int 21h

 

      mov ax,4c00h

      int 21h

code ends

end start

运行结果:

2.

源程序:

assume cs:code, ds:data

data segment

     db 12,35,96,55,67

data ends

code segment

start:

          mov ax,data

          mov ds,ax

 

          mov cx,5

          mov bp,0

 

      s:mov ah,0

      mov al,ds:[bp] 

      mov bl,10

      div bl

      mov dx,ax

 

      mov ah,2

      add dl,30h       

      int 21h

 

      mov dl,dh    

      add dl,30h   

      int 21h

 

      mov dl,20h

      int 21h

      inc bp

      loop s

 

      mov ax,4c00h

      int 21h

 

code ends

end start

运行结果:

3.

源代码:

assume ds:data, cs:code

data segment

       db 'welcome to masm!' 

       db 2H,24H,71H      

data ends

 

code segment

start:  mov ax,data

         mov ds,ax         

       

         mov ax,0b800H

         mov es,ax       

 

         mov cx,16

         mov bp,0

         mov bx,720H

         s0:mov al,ds:[bp]

         mov ah,2h

         mov es:[bx],ax

         inc bp

         add bx,2h

         loop s0

 

         mov cx,16

         mov bp,0

         mov bx,7c0H

         s1:mov al,ds:[bp]

         mov ah,24h

         mov es:[bx],ax

         inc bp

         add bx,2

         loop s1

 

 

         mov cx,16

         mov bp,0

         mov bx,860H

         s2:mov al,ds:[bp]

         mov ah,71h

         mov es:[bx],ax

         inc bp

         add bx,2h

         loop s2

 

        mov ax,4c00h

        int 21h

code ends

end start

运行结果:

自己写的代码还是稍显臃肿。在第二题中就发现寄存器有些捉襟见肘,虽然把商和余数都临时存放到DX里看起来还蛮巧妙,但本质上其实就是将未被使用的DH当作临时的存储空间,给人一种不够美妙不够自然的感觉。

……

以及,一、二、三、四、五……怎么就到九了?“根据材料编程”……这也太信达雅了吧!所以说即使实验本身魔改到这种程度标题还是要按照课本上来的吗?2233333

 

转载于:https://www.cnblogs.com/AlexanderYang/p/10098951.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值