专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 汇编语言

初学汇编有个地方搞不明白,该怎么解决

发布时间:2010-06-14 15:51:47 文章来源:www.iduyao.cn 采编人员:星星草
初学汇编有个地方搞不明白
看的是王爽的书,有个例子就是将8个数反序
Assembly code

assume cs:code,ds:data,ss:stack
    
    data segment
        WORD 0000h,1111h,2222h,3333h,4444h,5555h,6666h,7777h
    data ends
    
    stack segment
        WORD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    stack ends

    code segment
start:    mov ax,stack
        mov ss,ax
        mov sp,20h
        
        mov ax,data
        mov ds,ax
        
        mov bx,0
        mov cx,8
    s:    push [bx]
        add bx,2
        loop s
        
        mov bx,0
        mov cx,8
    s1:    pop [bx]
        add bx,2
        loop s1
        
        mov ax,4c00h
        int 21h
    code ends
end start


数据一共是8个字16个字节,栈为啥不能定义为16个字节
我将stack segment减一半
mov sp,20h修改为mov sp,10h后压栈到第6个程序就崩溃了

------解决方案--------------------
探讨
看的是王爽的书,有个例子就是将8个数反序

Assembly code


assume cs:code,ds:data,ss:stack

data segment
WORD 0000h,1111h,2222h,3333h,4444h,5555h,6666h,7777h
data ends

stack segment……

------解决方案--------------------
探讨
看的是王爽的书,有个例子就是将8个数反序

数据一共是8个字16个字节,栈为啥不能定义为16个字节
我将stack segment减一半
mov sp,20h修改为mov sp,10h后压栈到第6个程序就崩溃了


------解决方案--------------------
程序在开始运行时,系统就会往栈里存入一些数据,这些程序在程序退出时会用到。

对于这些小程序,用.com格式来写更方便一些。
------解决方案--------------------
嗯。说的都在理。学习。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: