有大神帮我看一下微机emu8086中出现的错误吗?

有大神帮我看一下微机emu8086中出现的错误吗?,第1张

示例代码

数据段

DATA SEGMENT

VAL1 DW 879AH879AH = -30822(十进制)

VAL2 DB 9FH 9FH = -97(十进带亩制)

VAL3 DW ?8739H = -30919(十进制猛行孝)

DATA ENDS

堆栈段

STACK SEGMENT

SK_BEGIN DB 100 DUP (0)

TOP EQU $-SK_BEGIN

STACK ENDS

代码段

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV AX,STACK

MOV SS,AX

MOV SP,TOP

MOV AX,VAL1

PUSH AX 参数入栈

MOV AL,VAL2

CBW

PUSH AX 参数入栈

CALL ADDPROC子程序:加法

HLT

ADDPROC:将子程序的代码也放枝稿在CODE SEGMENT里

PUSH BP BP入栈,保护BP的数值不变

MOV BP,SP

MOV AX,[BP+4]

ADD AX,[BP+6] 加法

MOV VAL3,AX

POP BP BP出栈

RET 4 输入参数有2个,每个占2字节,所以2*2=4

CODE ENDS

END START

1、颤老脊先用emu8086生茄渗成可执行文件(含裤如.exe文件、.com文件)

2、在proteus中双击8086芯片,从program file里找到你的可执行文件,然后运行即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12313479.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存