鱼C论坛

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

[汇编作业] 关于 第9章 实验9

[复制链接]
发表于 2022-2-12 02:25:08 | 显示全部楼层 |阅读模式

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

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

x
先感谢 小甲鱼
谢谢小甲鱼无私的分享 谢谢

着我的代码

assume cs:codesg
data segment
    db 'welcome to masm!'
    db 2H,24H,71H
data ends

stacksg segment
    dw 0,0,0,0,0,0,0,0
stacksg ends

codesg segment

  start:mov ax,data
        mov ds,ax
        mov ax,stacksg
        mov ss,ax
        mov sp,10H
        mov di,0
        mov ax,0b800H
        mov es,ax
        mov si,0
        mov cx,3
        
     s0:push cx                      这里我用了一个嵌套循环 ,3次循环是吧 往显示 内存里面 写入数据 这个动作 重复了 3次
        push si    这里我意识到 里面的循环 里 显示内存的偏移地址会一直增加 所以要先保存一下现在的状态
        mov bx,0 这里bx归零 也就是 每次都是从头读
welcome to masm!
        mov cx,10H
        
         s1:mov al,[bx]                这里循环16次 是把
welcome to masm! 循环 配上 显示属性 装到 显示内存里面  
            mov ah,[di+10H]
            mov es:[si],ax
            add si,2
            inc bx
            loop s1
        
        pop si  这里把没有进入下层 循环 的 显存偏移地址 取出来 方便下面递增用
        pop cx
        inc di
        add si,0a0h
        loop s0
               
        mov ax,4c00h
        int 21h

codesg ends
end start




再次感谢小甲鱼 无私的分享

还有我用的模拟器 搞完之后 第一行总是不显示 我以为是 我编写的程序有问题

从新写了一个 开头 显存就定义到了 下一行开始

后来发现 重启一下模拟器 再运行 .exe文件就可以了

。。。。。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 17:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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