鱼C论坛

 找回密码
 立即注册
查看: 2155|回复: 1

[技术交流] 关于第八章 实验7

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

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

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

x
小伙伴们你们好

我做这个实验得时候 弄了好久。。。。好几个小时才完成


还是看了小甲鱼得 视频 如果没有视频得画 我想我根本弄不出来


感谢小甲鱼


这里分享几个 我得错误点 。。。希望大家不要像我一样掉在坑里

下面是我得代码


assume cs:codesg

data segment
    db '1975','1976','1977','1978','1979','1980','1981','1982','1983'             首先我在这里出错了, 就是。。db 后跟着得元素之间 需要 逗号隔开。。我开始得时候没写。
    db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
    db '1993','1994','1995'

   
    dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
    dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000

    dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
    dw 11452,14430,15257,17800
data ends

table segment
    db 21 dup ('year summ ne ?? ')
table 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,table
        mov es,ax
        mov ax,stacksg
        mov ss,ax
        mov sp,10H
        
        mov bx,0
        mov si,0
        mov di,0
        mov cx,21
     s0:push cx
        
        mov cx,4
         s1:mov al,[bx]
            mov es:[di],al
            inc bx
            inc di
            loop s1
        
        inc di
        
        mov ax,50h[bx]
        push ax
        mov dx,52h[bx]
        mov es:[di],ax
        add di,2
        mov es:[di],dx
        add di,2
        inc di
        
        mov ax,0a3H[bx]
        mov es:[di],ax
        add di,2
        inc di
        
        
        pop ax
        div word ptr 0a8h[si]
        mov es:[di],ax
        add si,2
        add di,2
        inc di
        pop cx
        loop s0
        
        mov ax,4c00h
        int 21h

codesg ends
end start






总结
                我用得方法 挺笨得 di 慢慢累加 为了 格式好看  有的地方 我还是用了 inc  其实可以用 add di ,3  但是方便大家看把
                中间有一点 我push了 ax 是因为 我懒得改 寄存器了。。 因为我忘了后面要做除法了。。。中间把ax用了。。
                我有个想法 想着 一次性 在 栈段把 数据写好 16个字节 在全部 loop 灌入到 table 里面 这应该是一个很有趣得事
                因为才学了几天 好多知识 还很不熟练 在写这个程序得时候 我还是从新翻了笔记。。我觉得除法这块有点绕
                几个寄存器也搞得我有点晕头转向
                bx ds di 。。。
               

然后 再次感谢小甲鱼










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

使用道具 举报

发表于 2022-5-15 00:34:25 | 显示全部楼层
cs:ip 代码段寻址
ds:[内存] 数据段寻址
ss:sp 堆栈段寻址,bp用于在堆栈中定位
其它普通的寄存器ax,bx之类的用作临时保存数据
基本上就是这样吧。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 00:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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