xin微机原理与汇编语言程序设计

xx dw ?

inerr db 0ah,0dh,input error! try again,0ah,0dh,'$'

DATAS ENDS

STACKS SEGMENT

db 200 dup(0);此处输入堆栈段代码 STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS MOV DS,AX

next: mov dx,offser input;此处输入代码据段代码 mov ah,9 int 21h mov ah,1 int 21h cmp al,'0' jb err cmp al,'9' ja err add al,0fh mov x,al xor ebx,ebx mov bl,al

mov ax,tab[ebx*2] mov xx,ax exit: MOV AH,4CH INT 21H jmp enxt

CODES ENDS END START

4、设TAB字节存储区中存放着0—9的平方值,试编写一程序实现以下功能:从键盘上输入一个数X(0<=X<=9),试利用平方表计算它的平方值并将结果在显示器上显示出来。其显示结果格式为: 2*2=4 5*5=25

A ILEGAL DIGIT! 9*9=81

按回车键结束。

29

【预习要求】

1、仔细阅读课本及相应教材。

2、参照程序框图编制源程序,准备好多组运算数据,以供校验。

【实验步骤】

1、确定算法,画出程序流程图。 2、利用文本编辑程序,建立源文件。

3、利用汇编程序MASM对源程序汇编,形成目标文件 4、利用LINK对目标文件进行链接,形成可执行文件。

5、运行可执行文件,如果有错误,利用DEBUG软件进行调试 【思考题】

1.试分析下列程序段。 ADD AX,BX JNO L1 JNC L2

SUB AX,BX JNC L3 JNO L4

JMP SHORT L5

如果AX和BX的内容给出如下:

AX BX (1)14C6 80DC (2)B568 54B7 (3)42C8 608D (4)D023 9FD0 (5)9FD0 D023

问该程序分别在上面5种情况下执行后,程序转向哪里?请直接标注在题后。

2.执行完程序后,回答指定的问题。 MOV AX,0 MOV BX,2 MOV CX,50 LP: ADD AX,BX ADD BX,2 LOOP LP

问: (1) 该程序的功能是:

(2) 程序执行完成后,(AX)=( )。

【实验报告要求】

1、记录实验步骤和出现的现象,按照要求写出显示结果,源程序加上注释。 2、比较实验记录和理论分析的结果是否相同,如果不同找出差别并分析原因。 3、写实验报告,画出算法流程图,运行可执行文件并写出运行结果。

30

4、回答思考题问题,总结本次实验体会。

实验六 分支程序设计2(2学时)

【实验目的】

1、熟练掌握逻辑运算和转移

>>鐏炴洖绱戦崗銊︽瀮<<
12@gma联系客服:779662525#qq.com(#替换为@)