汇编实验1Word文件下载.docx

上传人:b****1 文档编号:3290296 上传时间:2023-05-01 格式:DOCX 页数:19 大小:43.63KB
下载 相关 举报
汇编实验1Word文件下载.docx_第1页
第1页 / 共19页
汇编实验1Word文件下载.docx_第2页
第2页 / 共19页
汇编实验1Word文件下载.docx_第3页
第3页 / 共19页
汇编实验1Word文件下载.docx_第4页
第4页 / 共19页
汇编实验1Word文件下载.docx_第5页
第5页 / 共19页
汇编实验1Word文件下载.docx_第6页
第6页 / 共19页
汇编实验1Word文件下载.docx_第7页
第7页 / 共19页
汇编实验1Word文件下载.docx_第8页
第8页 / 共19页
汇编实验1Word文件下载.docx_第9页
第9页 / 共19页
汇编实验1Word文件下载.docx_第10页
第10页 / 共19页
汇编实验1Word文件下载.docx_第11页
第11页 / 共19页
汇编实验1Word文件下载.docx_第12页
第12页 / 共19页
汇编实验1Word文件下载.docx_第13页
第13页 / 共19页
汇编实验1Word文件下载.docx_第14页
第14页 / 共19页
汇编实验1Word文件下载.docx_第15页
第15页 / 共19页
汇编实验1Word文件下载.docx_第16页
第16页 / 共19页
汇编实验1Word文件下载.docx_第17页
第17页 / 共19页
汇编实验1Word文件下载.docx_第18页
第18页 / 共19页
汇编实验1Word文件下载.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

汇编实验1Word文件下载.docx

《汇编实验1Word文件下载.docx》由会员分享,可在线阅读,更多相关《汇编实验1Word文件下载.docx(19页珍藏版)》请在冰点文库上搜索。

汇编实验1Word文件下载.docx

2)汇编、连接程序,生成.EXE文件,执行文件,检查结果。

六、实验报告的要求

1)列出源程序,说明程序的基本结构,包括程序中各部分的功能。

2)说明程序中各部分所用的算法。

3)说明主要符号和所用到寄存器的功能。

4)总结为什么在设计分支程序时必须解决三个问题:

判断、转向和定标号。

5)说明标志位CF、SF和OF的意义。

6)上机调试过程中遇到的问题是如何解决的。

7)对调试源程序的结果进行分析。

实验1-1

源程序:

DATASEGMENT

BUF1DW932AH;

(以十六进制表示一个数的原码,包括符号位)

BUF2DW?

BUF3DW?

DATAENDS

STACK1SEGMENTPARASTACK

DW20HDUP(0)

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK1,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,BUF1

MOVBX,AX

ANDAX,0FFFFH

JNSL;

sf表示符号标志位,若最高位大于7时,则为负,该命令判断是否为负,为负则求反(加一),为正则原样输出

NEGAX

XORBX,0FFFFH

ORAX,8000H;

保持符号位不变

ORBX,8000H

L:

MOVBUF2,BX

MOVBUF3,AX

PUSHAX

PUSHBX

MOVCX,2

LOP:

POPBX;

将结果每一位通过循环移位显示在屏幕上

PUSHCX

MOVCX,4

LP:

PUSHCX

MOVCL,4

ROLBX,CL

MOVDL,BL

ANDDL,0FH

CMPDL,0AH

L2

ADDDL,07H

L2:

ADDDL,30H

MOVAH,02H

INT21H

POPCX

LOOPLP

MOVDL,'

'

LOOPLOP

MOVAH,4CH

CODEENDS

ENDSTART

运行结果:

屏幕上显示的是BUF1数的反码和补码(十六进制,包括符号位)。

调试时发现结果显示成乱码,经过研究程序代码发现如果数字在A到F之间,则需要将存数值加37。

实验1-2

datasegment

Adw00ED1h

Bdw0BDE9h

dataends

stack1segmentparastack

dw20hdup(0)

stack1ends

codesegment

assumecs:

code,ds:

data,ss:

stack1,es:

data

start:

MOVBX,A;

(把A存储的单元放入BX寄存器中)

MOVAX,B;

(把B存储的单元放入AX寄存器中)

ADDBX,AX

JCL0;

cf是无符号的进位,当两数相加大于0ffffh,产生进位

MOVA,BX

L0:

MOVDX,BX;

显示相加结果

ANDDX,0F000H

MOVCL,12

SHRDX,CL

CMPDX,0AH

L1

ADDDX,7H

L1:

ADDDX,30H

MOVDX,BX

ANDDX,0F00H

MOVCL,8

ANDDX,0F0H

L3

L3:

ANDDX,0FH

L4

L4:

movah,4ch

int21h

codeends

endstart

实验1-3

源代码:

BUFDB03EH,060H,93H

MAXDB00H

ANDAX,0000H

MOVAL,BUF

MOVMAX,AL

MOVBL,BUF+1

CMPMAX,BL;

找到最大的数

JAEL1

MOVMAX,BL

MOVBL,BUF+2

CMPMAX,BL

JAEL2;

显示最大的数

ANDDX,0000H

MOVDL,MAX

ANDDL,0F0H

SHRDL,CL

ADDDL,7H

实验1-4

BUFDB-34H,3AH,-43H;

转换成补码

MOVAL,BUF;

通过对所有的数取阶码比较大小

ADDAL,80H

ADDBL,80H

JAEL2

SUBDL,80H;

包含有cmp功能,对最大的数减去80h(取回原码)

JAEL3

MOVBL,DL

-'

;

如果是负数显示符号

NEGDL;

求补(针对带符号数)

MOVBL,DL;

ADDDL,30H

实验1-5

BUFDB10DUP(0)

BFDB00011110B,11111111B,6DUP(0),00110000B,00000001B

STACK1

MOVAX,100H

MOVES,AX

MOVCX,10

MOVDI,0

MOVSI,9

MOVBX,CX

;

MOVAL,BF+[BX]-1

MOVAL,ES:

-1[BX]

ANDAL,0FFH;

mov不影响标志位

JPL1;

pf为奇偶标志位,当位数为偶数时为1

LEABX,BUF

ADDBX,DI

MOV[BX],AL

INCDI

JMPL2

MOV[BUF+SI],AL

DECSI

LOOPLOP

MOVAL,BUF+[BX]-1

MOVES:

-1[BX],AL

1、对bf进行检验,再存入buf

2、对指定的存单元进行检验,存回指定的存单元

实验1-6

源程序:

TABLEDWL3,L4,L5,L6;

偏移地址是以字为单位的

MOVAH,01H

SUBAL,30H

CMPAL,3

L9

CMPAL,6

JAL9

ANDAH,00H

MOVDL,AL

LEABX,TABLE

SUBDL,3

SHLDL,1

MOVDI,DX;

MULDL

JMP[BX+DI]

ADDAL,DL

JMPL1

SHLDL,1

SUBAL,DL

L5:

JMPL1

L6:

SHRAL,1

MOVBX,AX

L7

L7:

L8

L8:

L9:

MOVAH,4CH

结果:

实验1-7

TABLEDWLA,LB,LC,LD

MOVCX,02H

MOVAH,01H

CMPAL,30H

PEND

CMPAL,39H

JANEXT

NEXT:

CMPAL,41H

CMPAL,46H

JAPEND

SUBAL,40H

ADDAL,09H

ANDAX,00FFH

PUSHAX

CMPAL,41H

CMPAL,44H

SUBAL,41H

SHLAL,1

MOVBX,OFFSETTABLE

ADDBL,AL

JMP[BX]

LA:

POPAX

POPBX

ADDAX,BX

JMPL0

LB:

SUBAX,BX

JMPL0

LC:

MULBL

LD:

POPBX

POPAX

DIVBL

JMPL0

MOVCX,2

LOP2:

ROLBL,CL

L5

ADDDL,30H

LOOPLOP2

PEND:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2