首页 > 编程语言 > 详细

汇编语言实验九

时间:2018-12-13 23:01:11      阅读:199      评论:0      收藏:0      [点我收藏+]
1.补全程序,源代码如下。

完成在屏幕上输出内存单元中的十进制两位数

第一段的db中只含有一个数字12,其只占即ds:[0]的位置,将商保存后面字节的位置

assume cs:code, ds:data
ds:datadata segment
      db 12
      db 0,0                                      ;前一个字节用于保存商,后一个字节用于保存余数
data ends
code segment
start:    mov ax, data
            mov ds, ax                        ;补全指令,使得ds <-- data段地址
 
            mov ah, 0
            mov al,ds:[0]                     ;ax <-- data段字节单元的被除数12
            mov bl, 10
            div bl
            mov ds:[1],al                     ;补全代码,让商保存到data段注释中指定的单元
            mov ds:[2], ah                   ;补全代码,让余数保存到data段注释中指定的单元
 
            mov ah, 2
            mov dl,ds:[1]                     ;补全代码,使得d1 <-- data段中保存的商的字节单元数值
            add dl, 48                          ;补全代码,使得d1中的数值转换为数字字符
            int 21h
 
           mov ah, 2
           mov dl, ds:[2]                    ;补全代码,使得d1 <--. data段中保存余数的字节单元数值
           add dl, 48                          ;补全代码,使得d1中的数值转换为数字字符
           int 21h
 
          mov ax, 4c00h
          int 21h
code ends
end start
运行结果如下
技术分享图片

2.补全程序,源代码如下。

完成在屏幕上输出 data 段定义的 5 个十进制两位数,数据和数据
之间以空格间隔。

需要将db中的5个数字完成除法运算,可以运用到loop指令来进行使用

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,5h

        mov bp,0

        

s:     mov ah,0

        mov al,ds:[bp]

        mov bl,10

        div bl

        mov ds:[5],al

        mov ds:[6],ah

   

        mov ah,2

        mov dl,ds:[5]

        add dl,48

        int 21h

 

        mov ah,2

        mov dl,ds:[5]

        add dl,48

        int 21h

 

        mov ah,2

        mov dl,32

        int 21h

 

        inc bp

        loop s

 

        mov ax,4c00h

        int 21h

code ends

end start

运行结果如下

技术分享图片

3.补全程序,源代码如下

在屏幕的中间分别显示绿色,绿底红色,白底蓝色的字符串‘welcome to masm!’

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 bx,0

        mov bp,16

        mov cx,16

s0:   mov ax,[bx]

        mov es:[bx+720h][si],ax

        mov al,2h

        mov es:[bx+721h][si],al

        inc bx

        inc si

        loop s0

   

        mov bx,0

        mov cx,16

        mov si,160

s1:   mov ax,[bx]

        mov es:[bx+720h][si],ax

        mov al,24h

        mov es:[bx+721h][si],al

        inc bx

        inc si

        loop s1

 

        mov bx,0

        mov cx,16

        mov si,320

s2:   mov ax,[bx]

        mov es:[bx+720h][si],ax

        mov al,113

        mov es:[bx+721h][si],al

        inc bx

        inc si

        loop s2

 

mov ax,4c00h

inc 21h

 

code ends

end start

运行结果如下

技术分享图片

 

 

  

汇编语言实验九

原文:https://www.cnblogs.com/Blogrmcx/p/10117027.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!