- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.-
.
-
-.word.zl
-
.word.zl
实验一顺序与分支程序设计
一、实验目的
掌握顺序程序设计方法。
掌握分支程序的构造及分支程序的设计,调试方法。
学习数据传送及算术和逻辑运算指令的用法。
熟悉在 PC 机上建立、汇编、连接、调试和运行汇编语言程序的过程。二、实验内容
1) 有一字变量BUF1 是以原码表示的有符号数,要求将其转换为反码和补码,分别存入 BUF2 和BUF3 单元,并在屏幕上显示出来。
源代码:
DATA SEGMENT
BUF1 DW 9348H
BUF2 DW 4 DUP(0),0AH,0DH,$ BUF3 DW 4 DUP(0),$
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA BEGIN:MOV AX,DATA
MOV DS,AX
MOV AX,BUF1
ADD AX,0
JS NEXT
MOV BUF2,AX
MOV BUF3,AX
JMP EEE NEXT:AND AX,7FFFH
NOT AX
MOV BUF2,AX
INC AX
MOV BUF3,AX EEE:MOV CX,0004H
MOV DI,OFFSET BUF2
MOV DX,[DI]
ADD DI,03
BBB:MOV AX,DX
AND AX,000FH
CMP AL,0AH QQQ
ADD AL,07H QQQ:ADD AL,30H
MOV [DI],AL
DEC DI PUSH CX
MOV CL,04H
SHR DX,CL
POP CX
LOOP BBB
MOV CX,0004H
MOV SI, OFFSET BUF3 MOV DX,[SI]
ADD SI,03H CCC:MOV AX,DX AND AX,000FH
CMP AL,0AH DDD
ADD AL,07H DDD:ADD AL,30H
MOV [SI],AL
DEC SI
PUSH CX
MOV CL,04H
SHR DX,CL
POP CX LOOP CCC
MOV DX,OFFSET BUF2 MOV AH,09H
INT 21H
MOV DX,OFFSET BUF3 MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H CODE ENDS END BEGIN
. -
运行结果:
2〕有两个两字节无符号数分别放在存储单元 A、B 起始的缓冲器中,求其和,结果放在 A 起始的缓冲区并在屏幕上显示。相加假设有进位不存入存储单元。
源代码:DATA SEGMENT
A DB 34H,18H,2 DUP(0),$
B DB 56H,83H DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX
MOV AL,A
MOV BL,B
ADD AL,BL
MOV AH,A+1
MOV BH,B+1
ADC AH,BH
MOV A,AL
MOV A+1, AH
- .word.zl
. -
MOV CX, 0004H
MOV DI,OFFSET A MOV DX,[ DI]
ADD DI,03 NEXT:MOV AX,DX
AND AX,000FH
CMP AL,0AH QQQ
ADD AL,07H QQQ:ADD AL,30H
MOV [DI],AL
DEC DI
PUSH CX
MOV CL,04
SHR DX,CL
POP CX LOOP NEXT
MOV DX,OFFSET A MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H CODE ENDS END START
运行结果:
-
.word.zl
. -
在 BUF 和 BUF+1、BUF+2 单元分别放有一个无符号字节型数,编程序将其中最大数存入 MAX 单元,并在屏幕上显示。
源代码:
STACK SEGMENT STACK DB 1024 DUP(0)
STACK ENDS
DATA SEGMENT
BUF DB 70H,35H,1FH MAX DB 2 DUP(?),$ DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN:MOV AX,DATA
MOV DS,AX
MOV AL,BUF
CMP AL,BUF+1
- .word.zl
. -
JNB LP1
MOV AL,BUF+1 LP1:CMP AL,BUF+2
JAE LP2
MOV AL,BUF+2 LP2:MOV CX,02H
MOV DI,OFFSET MAX MOV DL,AL
INC DI LP3:AND
文档评论(0)