|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这个代码怎么运行都说变量C定义时有错误,有大佬知道到底怎么回事吗- DATA SEGMENT
- A DB 12H ;定义三个变量
- B DB 24H
- C DB 0
- DATA ENDS
- CODES SEGMENT
- ASSUME DS:DATA,CS:CODES
- START:
- MOV AX,DATA
- MOV DS,AX
-
- MOV AL,A ;把A放入AL
- ADD AL,B ;AL+B (结果是默认放入AL的)
- MOV C,AL ;把AL放入C
-
-
-
- EXIT:
- MOV AH,4CH
- INT 21H
- CODES ENDS
- END START
复制代码
本帖最后由 jackz007 于 2024-5-5 18:08 编辑
这个代码在我这里可以顺利编译,不存在任何问题
- DATA SEGMENT
- A DB 12H ;定义三个变量
- B DB 24H
- C DB 0
- DATA ENDS
- STACK SEGMENT STACK ; 添加堆栈段定义,防止在 link 程序时,有 "LINK : warning L4021 : no stack segment" 的警告
- DB 200H DUP(00)
- STACK ENDS
- CODES SEGMENT
- ASSUME DS:DATA,CS:CODES
- START:
- MOV AX,DATA
- MOV DS,AX
- MOV AL,A ;把A放入AL
- ADD AL,B ;AL+B (结果是默认放入AL的)
- MOV C,AL ;把AL放入C
- ; 以下为添加代码,用于屏显计算结果(十六进制)
- PUSH AX
- PUSH AX
- POP DX
- MOV CL,4H
- SHR DL,CL
- MOV CX,02H
- S1: AND DL,0FH
- ADD DL,30H
- CMP DL,3AH ; 要显示的是一个数字字符?
- JB S2 ; 是,跳走
- ADD DL,07H ; 要显示的是一个字母
- S2: MOV AH,02H
- INT 21H
- POP DX
- LOOP S1
- ; 以上为添加代码,用于屏显计算结果(十六进制)
- EXIT:
- MOV AH,4CH
- INT 21H
- CODES ENDS
- END START
复制代码
|
|