实验4:文本浏览器设计
1、实验目的:通过设计一个文本浏览器,掌握利用地址表实现分支程序设计的方法。
2、实验内容:
运行程序后,屏幕显示“input number(1-3):”
键入“1”后,显示“chapterl:introduction”
键入“2”后,显示“chapter2:designingmethod”
键入“3”后,显示“chapter3:experiment”
键入其他数字后,返回屏幕提示状态。
3、实验要求:
(1)进行反汇编,并截图;
(2)显示内存中存储的数据,并截图;
(3)比较单步运行过程中“T”和“P”命令的区别,截图程序调试及单步运行过程;
(4)截图程序运行结果。
DATAS SEGMENT
str0 db 'plsease input num(1-3):',0dh,0ah,'$'
str1 db 'chapter1:introduction',0dh,0ah,'$'
str2 db 'chapter2:designing method',0dh,0ah,'$'
str3 db 'chapter3:experiment',0dh,0ah,'$'
table dw dis1,dis2,dis3
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
start1:mov dx,offset str0
mov ah,9
int 21h
mov ah,1
int 21h
cmp al,'1'
jb start1
cmp al,'3'
ja start1
and ax,000fh
dec ax
shl ax,1
mov bx,ax
jmp table[bx]
start2:mov ah,9
int 21h
MOV AH,4CH
INT 21H
dis1:mov dx,offset str1
jmp start2
dis2:mov dx,offset str2
jmp start2
dis3:mov dx,offset str3
jmp start2
CODES ENDS
END START
优化自己写吧,比如输入数字换行显示内容,重复输入等等。