鱼C论坛

 找回密码
 立即注册
查看: 2150|回复: 0

[汇编作业] 王爽第二版实验10.1 和10.3萌新自制傻瓜式...

[复制链接]
发表于 2020-1-10 14:05:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 一只et 于 2020-1-10 16:18 编辑

(10.1)assume cs:code
data segment
db 'Welcome to masm!',0
data ends


code segment
start: mov dh,8
       mov dl,3
           mov cl,2
           mov ax,data
           mov ds,ax
           mov si,0
           call show_str
           mov ax,4c00H
           int 21H
          
show_str:             mov ax,00a0H
                           mul dh
                           mov bx,ax               ;定位行数

                           mov dh,00H
                           mov di,dx
                           add di,3           ;准备列数  注意位置
                           mov dl,cl               ;为了使用jcxz把cl让出来
                           mov ax,0b800H           ;b8000H~bffffH   
                           mov es,ax                ;打开显示存储空间
                          
s1:                            mov al,ds:[si]           ;放入字符
                           mov es:[bx+di],al     
                           inc bx      
                           inc si                    
                           mov es:[bx+di],dl         ;放入颜色
                           inc bx
                           mov ch,00H                 ;准备cx跟字符串一样
                           mov cl,ds:[si]
                           jcxz s2
                           loop s1
s2:                      ret
                          
  code ends
  end start


--------------------------------------------------------------------------------分割线-------------------------------------------------------------------------------------


(10.3)assume cs:code

data segment

db 10 dup (0)

data ends


code segment
start: mov ax,54134
       mov bx,data
           mov ds,bx
           mov si,0
           call dtoc
          
           mov dh,8
           mov dl,3
           mov cl,2
           call show_str
          
           mov ax,4c00H
           int 21H

dtoc:     mov cx,5                  ;循环和jcxz用的cx  循环前定义好
          mov si,4                   ;设好长度  除完顺序是反的

s4:       push cx                ;推入栈里

          mov dx,0000H              ;16位除法准备好
          mov cx,000aH      
          div cx

                  add dx,30H                ;字节高位给3H
               
                                                  
                  mov bx,0000H

                  mov [bx+si],dl               ;放入内存单元
                  sub si,1
                  pop cx
                  jcxz s3
                  loop s4

s3:                  mov ax,0000H             ;用完后做好收尾
                  mov bx,0000H
                  mov cx,0000H   
                  mov dx,0000H
                  mov si,0000H
                  ret
                  
                  

show_str:             mov ax,00a0H
                           mul dh
                           mov bx,ax               ;定位行数

                           mov dh,00H
                           mov di,dx
                           add di,3           ;准备列数  注意位置
                           mov dl,cl               ;为了使用jcxz把cl让出来
                           mov ax,0b800H           ;b8000H~bffffH   
                           mov es,ax                ;打开显示存储空间
                          
s1:                            mov al,ds:[si]           ;放入字符
                           mov es:[bx+di],al     
                           inc bx      
                           inc si                    
                           mov es:[bx+di],dl         ;放入颜色
                           inc bx
                           mov ch,00H                 ;准备cx跟字符串一样
                           mov cl,ds:[si]
                           jcxz s2
                           loop s1
s2:                      ret
                code ends
                end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 03:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表