汇编语言实验九

Posted blogrmcx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言实验九相关的知识,希望对你有一定的参考价值。

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

运行结果如下

技术分享图片

 

 

  


以上是关于汇编语言实验九的主要内容,如果未能解决你的问题,请参考以下文章

汇编语言——实验九

汇编语言(王爽)第四版--实验九

《汇编语言》实验九课程

汇编语言实验九

汇编实验九

汇编语言之实验九