刚学汇编的写程序那章 Win7 在csdn上下了个可以兼容的masm5.0
assume cs:codesg
codesg segment
mov ax,2000H
mov ss,ax
mov sp,0
add sp,4
pop ax
pop bx
push ax

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Rosalee

    17人对此回答表示赞同

    pop是压栈指令,但是你没有声明堆栈段,一般的不需要堆栈的程序只需要
    assume cs:cseg,ds:dseg 就足够了
    但是你的程序用到了堆栈段,所以必须提前对堆栈段进行声明,即
    ASSUME CS:CSEG,DS:DSEG,SS:SSEG
    结合你的程序
    MYSTACK SEGMENT STACK
    DB 64 DUP(?)
    MYSTACK ENDS

    CODESG SEGMENT
    assume c
    展开
    17
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Jerry不怕猫

    7人对此回答表示赞同

    因为'W'<'v',满足
    cmp al,'v'
    jbe jia
    条件,按小写字母处理了。也就是未执行到
    cmp al,'W'
    jae jian

    解决办法:先判断大写的、后判断小写的。

    我写了一个,仅供参考。
    Code Segment
    Assume CS:Code,DS:Code
    展开
    7
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 木头老兄

    3人对此回答表示赞同

    错就错在这一句: mov ss,ax
    你没有定义堆栈段, 2000h处根本不是堆栈, 你却硬要进行堆栈操作, 结果就会出错.
    并且不要直接操作sp
    ==============================================================
    assume cs:codesg,ss:stacksg
    stacksg segment stack
    db 256 dup (?)
    sta
    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部