汇编语言例子

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三:

1)题目:在内存中从ARRAY开始的连续三个字节单元存放着30H,40H,50H。编制程序将这三个连续的数据传送到内存TABLE开始的单元。

DATA SEGMENT

ARRAY DB 30H,40H,50H 定义数据段

TABLE DB 3 DUP (?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA SI,ARRAY

LEA DI,TABLE

MOV CX,3

REP MOVSB

JMP $

CODE ENDS

END START

(2)题目:把内存2000H和3000H字单元的内容相加,结果存入4000H单元。(不考虑溢出)

DATA SEGMENT

ORG 2000H

DW 1234H

ORG 3000H

DW 5678H

ORG 4000H

DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV AX,[2000H]

ADD AX,[3000H]

MOV [4000H],AX

JMP $

CODE ENDS

END START

实验四

1、数据传送指令和算术运算指令完成NUM1和NUM2相加,结果放入SUM中。

DATA SEGMENT

NUM1 DW 0012H,0030H,0FC21H ; 数1

NUM2 DW 3E81H,44E9H,6D70H ; 数2

SUM D W 3 DUP(?) ; 结果单元

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START: MOV AX, DATA

MOV DS, AX

MOV CX,3

LEA SI,NUM1

LEA DI,NUM2

LEA AX,SUM

HE:

MOV BX,[SI]

ADD BX,[DI]

MOV [AX],BX

INC SI

INC DI

INC AX

LOOP HE

MOV AH, 4CH ; 返回DOS

INT 21H

CODE ENDS

END START

2、内存中自TABLE开始的七个单元连续存放着自然数0至6的立方值(称作立方表)。;任给一数X(0≤X≤6)在XX单元,查表求X的立方值,并把结果存入YY单元中。;提示用XLAT指令

DATA SEGMENT

TABLE DB 0H,1H,2H,3H,4H,5H,6H

XX DB 1

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

LEA BX,TABLE

MOV AL,[XX]

XLAT

MOV DL,AL

MOV AH,02H

INT 21H

JMP $

CODE ENDS

END START

实验五

2、输入一个字符,如果等于'Y',则输出Assemble,否则输出Others。

DATA SEGMENT

STR1 DB 'Assemble'

STR2 DB 'Others'

CODE SEGMENT

START:

MOV AH,01H

INT 21H

CMP AL,'Y'

JZ HE

LEA DX,STR2

MOV AH,9

INT 21H

JMP EXT

HE:

LEA DX,STR1

MOV AH,9

INT 21H

EXT:

JMP $

CODE ENDS

END START

3、编写汇编程序,(Z-(X*Y)-100)/X。已知X、Y、Z均为8位符号数,已经分别装在X、Y、Z单元中,将计算结果商存入100H中,余数存入200H中。

DATA SEGMENT

X DB 10H

Y DB 20H

Z DB 40H

ORG 100H

NUM1 DB ?

ORG 200H

NUM2 DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV AL,[Y]

MOV BL,[X]

MOV BH,[Z]

MUL BL

SUB AX,64H

MOV DX,AX

MOV AL,BH

CBW

SUB AX,DX

DIV BL

MOV NUM1,AL

MOV NUM2,AH

JMP $

CODE ENDS

END START

4、编写汇编程序,已知X为8位符号数,装在X单元中,请求出X补码并存入Y单元中。DATA SEGMENT

X DB 88H

Y DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV AL,[X]

TEST AL,0

JG HE

NEG AL

OR AL,80H

HE:

MOV [Y],AL

JMP $

CODE ENDS

END START16 7 112 123 11

1、已知X单元存放了无符号整数123,请用程序把123输出。

DATA SEGMENT

X DB 7BH

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

相关文档
最新文档