




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、班级:021113 学号:02111283姓名:范亚男 指导老师:董玫上机作业(一)指令SRC寻址方式SRC的地址AX推算值AX实际值MOV AX, CX 寄存器寻址00050005MOV AX, 500H 立即寻址05000500MOV AX, TABLE 直接寻址1541:0004A5A4A5A4MOV AX, ES:BX 寄存器间接寻址1542:0004C5C4C5C4MOV AX, BX+05H 寄存器相对寻址1541:0009AAA9AAA9MOV AX, SS:BX+03H 寄存器相对寻址153F:0007B8B7B8B7MOV AX, TABLE BX 寄存器相对寻址1541:0
2、008A9A8A9A8MOV AX, 07H BX 寄存器相对寻址1541:000BACABACABMOV AX, BP 寄存器间接寻址153F:0003B4B3B4B3MOV AX, TABLE BP 寄存器相对寻址1541:0007A8A7A8A7MOV AX, 08H BP 寄存器相对寻址153F:000BBCBBBCBBMOV AX, BP+06H 寄存器相对寻址153F:0009BAB9BAB9MOV AX, DS:BP+03H 寄存器相对寻址1541:0006A7A6A7A6MOV AX, BP+05H 寄存器相对寻址153F:0008B9B8B9B8MOV AX, ES: SI+
3、03H 寄存器相对寻址1542:0005C6C5C6C5MOV AX, DI+06H 寄存器相对寻址1541:0007A8A7A8A7MOV AX, DI+05H 寄存器相对寻址1541:0006A7A6A7A6MOV AX, TABLE SI 寄存器相对寻址1541:0006A7A6A7A6MOV AX, SI 寄存器间接寻址1541:0002A3A2A3A2MOV AX, TABLE DI 寄存器相对寻址1541:0005A6A5A6A5MOV AX, SI+05H 寄存器相对寻址1541:0007A8A7A8A7MOV AX, BX DI+01H 基址变址且相对寻址1541:0006A7
4、A6A7A6MOV AX, BX SI+03H 基址变址且相对寻址1541:0009AAA9AAA9MOV AX, TABLE BX SI 基址变址且相对寻址1541:000AABAAABAAMOV AX, ES:BX DI 基址变址寻址1542:0005C6C5C6C5MOV AX, BP DI+02H 基址变址且相对寻址153F:0006B7B6B7B6MOV AX, TABLE BP DI 基址变址且相对寻址1541:0008A9A8A9A8MOV AX, ES:BP SI 基址变址寻址1542:0005C6C5C6C5MOV AX, BP SI+05H 基址变址且相对寻址153F:00
5、0ABBBABBBAMOV AX, 03H BP DI 基址变址且相对寻址153F:0007B8B7B8B7MOV AX, BP SI 基址变址寻址153F:0005B6B5B6B5MOV AX, BP+02H DI+03H 基址变址且相对寻址153F:0009BAB9BAB9MOV AX, TABLE BP+02H DI+03H 基址变址且相对寻址1541:000DAEADAEAD1. 编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。STACK SEGMENT STACK 'STACK'DW 100H DUP(?)TOP LABE
6、L WORDSTACK ENDS ;堆栈段DATA SEGMENTADD1 DD 12678532HADD2 DD 21736543HSUM DD ?DATA ENDS ;数据段CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX LEA SP,TOP LEA SI,ADD1 LEA DI,ADD2 MOV AL,SI ADD AL,DI DAA MOV BYTE PTR SUM,AL MOV AL,SI+1 ADC AL,DI+1 DAA MOV
7、 BYTE PTR SUM+1,AL MOV AL,SI+2 ADC AL,DI+2 DAA MOV BYTE PTR SUM+2,AL MOV AL,SI+3 ADC AL,DI+3 DAA MOV BYTE PTR SUM+3,AL MOV AX,WORD PTR SUM+2 CALL DISPAX MOV AX,WORD PTR SUM CALL DISPAX MOV AH,4CH INT 21H DISPAL PROC NEAR PUSH AX PUSH CX PUSH DX PUSH AX MOV CL,4 SHR AL,CL CALL CHANG MOV AH,02 MOV DL,
8、AL INT 21H POP AX AND AL,0FH CALL CHANG MOV AH,02 MOV DL,AL INT 21H POP DX POP CX POP AX RETDISPAL ENDPCHANG PROC NEAR CMP AL,10 JNGE CHANG1 ADD AL,7CHANG1: ADD AL,30H RETCHANG ENDPDISPAX PROC NEAR XCHG AL,AH CALL DISPAL XCHG AH,AL CALL DISPAL RETDISPAX ENDPCODE ENDS END START2. 有一个首地址为A的N字数组,请编程序使该
9、数组中的数按从大到小的次序排列。STACK SEGMENT STACK DB 256 DUP(?)STACK ENDSDATA SEGMENTDATA1 DW 7800H,6832H,0000H,87H,1275H,0EC34HSTRING1 DB 'input number:',0DH,0AH,'$'STRING2 DB 'The numbers from large to small is:',0DH,0AH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:S
10、TACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX LEA DX,STRING1 MOV AH,09H INT 21H MOV CX,6 LEA SI,DATA1L1: MOV AX,SI ADD SI,2 CALL DISPAX CALL DISPCR LOOP L1 MOV CX,5 LEA SI,DATA1 ADD SI,10LP1: PUSH CX PUSH SILP2: MOV AX,SI CMP AX,SI-2 JBE NOXCHG XCHG AX,SI-2 MOV SI,AXNOXCHG: DEC S
11、I DEC SI LOOP LP2 POP SI POP CX LOOP LP1 LEA DX,STRING2 MOV AH,09H INT 21H MOV CX,6 LEA SI,DATA1L2: MOV AX,SI ADD SI,2 CALL DISPAX CALL DISPCR LOOP L2 MOV AH,4CH INT 21HDISPAL PROC PUSH AX PUSH CX PUSH DX PUSH AX MOV CL,4 SHR AL,CL CALL CHANG MOV AH,02H MOV DL,AL INT 21HPOP AX AND AX,0FH CALL CHANG
12、MOV AH,02H MOV DL,AL INT 21H POP DX POP CX POP AX RETDISPAL ENDPCHANG PROC CMP AL,10 JNGE CHANG1 ADD AL,7CHANG1: ADD AL,30H RETCHANG ENDP DISPAX PROC XCHG AL,AH CALL DISPAL XCHG AH,AL CALL DISPAL RETDISPAX ENDPDISPCR PROC PUSH AX PUSH DX MOV AH,2 MOV DL,0AH INT 21H MOV AH,2 MOV DL,0DH INT 21H POP DX
13、 POP AX RETDISPCR ENDPCODE ENDS END START3.编写如下程序,并在机器上调试成功。程序采用菜单式选择,可以接收用户从键盘输入的四个命令(1-4),各命令功能分别为:(1)按下“1”键,完成字符串小写字母变成大写字母。(2)按下“2”键,完成找最大值(3)按下“3”键,完成排序(4)按下“4”键,结束程序运行,返回系统提示符。DISPL MACRO STR PUSH DX PUSH AX LEA DX,STR MOV AH,09H INT 21H POP AX POP DXENDMISCONTINUE MACRO L DISPS 15,10,SMENU MO
14、V AH,08H INT 21H CMP AL,1BH JNE L JMP MAINENDMCURSOR MACRO CURX,CURY PUSH AX PUSH BX PUSH DX MOV AH,02H MOV DH,CURX MOV DL,CURY MOV BH,0 INT 10H POP DX POP BX POP AXENDMDISPS MACRO X,Y,STR PUSH AX PUSH BX PUSH DX MOV AH,02H MOV BH,00H MOV DH,X MOV DL,Y INT 10H LEA DX,STR MOV AH,09H INT 21H POP DX PO
15、P BX POP AXENDMSCROLL MACRO N,ULR,ULC,LRR,LRC,ATT PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,06H MOV AL,N MOV CH,ULR MOV CL,ULC MOV DH,LRR MOV DL,LRC MOV BH,ATT INT 10H POP DX POP CX POP BX POP AXENDMPREP MACRO T LEA SI,INBUF+1 LEA DI,OUTBUF SCROLL 21,2,0,22,79,0FH DISPS 3,20,T DISPS 6,2,CAPION DISPS 8,
16、2,INCAP MOV AH,0AH INT 21H MOV CH,0 MOV CL,SI INC SI ENDMSTACK SEGMENT STACK 'STACK' DB 100H DUP(?)TOP LABEL WORDSTACK ENDSDATA SEGMENTBASE DW MAIN,LTC,FMV,SORTS,EXITWELCM DB 'Welcome to this program!$'MMENUC DB 'Please input the number!$'MMENU1 DB ' 1 -Lowercase Letters
17、To Capital Letters$'MMENU2 DB ' 2 -Find The Maximum figure$'MMENU3 DB ' 3 -Sort$'MMENU4 DB ' 4 -Exit!$' SMENU DB 'Press Any Key To restart,Press "ESC" To Return To Main Menu!$'WROCAP DB 'WRONG! You have press " " key! Please input a number
18、between 1 and 4!$'CAPION DB 'Please Input Your Strings and End With "Enter" Key!$'INCAP DB 'Your Input Is: $'INBUF DB 100 DB ? DB 100 DUP(?)OUTCAP DB ' My Output Is: $'OUTBUF DB 100 DUP(?)MAXCAP DB 'The char of max ASCII is: .$'ERRINF DB 'ERROR! Plea
19、se check the format you input!$'TDINV DB ' Invalid time data! Input again!$' NODATCAP DB ' You have input nothing!$'TIME DB 8 DUP (':'),12 DUP (' ')DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV
20、 SS,AX LEA SP,TOP LEA DX,INBUF CLCMAIN: SCROLL 0,0,0,24,79,0 SCROLL 25,0,0,24,79,50H SCROLL 21,2,0,22,79,0FH DISPS 8,20,MMENUC DISPS 10,20,MMENU1 DISPS 12,20,MMENU2 DISPS 14,20,MMENU3 DISPS 16,20,MMENU4ML: CURSOR 19,1DH MOV AH,01H INT 21H CMP AL,31H JL ERROR CMP AL,35H JG ERROR AND AX,00FH LEA BX,BA
21、SE SHL AL,1 ADD BX,AX JMP WORD PTR BX ; CMP AL,'1' ; JE LTC ; CMP AL,'2' ; JE FMV ; CMP AL,'3' ; JE SORTS ; CMP AL,'4' ; JE EXIT ERROR: CMP AL,0DH JE MCR MOV WROCAP+23,AL ;Other char MOV WROCAP+24,' ' JMP DMCR: MOV WORD PTR WROCAP+23,'RC'D: DISPS 20,5,WROCAP ;Show the wrong information JMP MLLTC: CALL LLTOCL ISCONTINUE LTCFMV: CALL FMAXV ISCONTINUE FMVSORTS: CALL SORT ISCONTINUE SORTSEXIT: SCROLL 0,0,0,24,79,0 MOV AH,4CH INT 21H LLTOCL PROC REFLASHL:PREP MMENU1 CMP CL,0 JE REFLASHLLL1: MOV AL,SI CMP AL,'a' JB MTOB ;NO CHANGE CMP AL,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 探秘文学巨著
- 外贸英文函电课件Unit10
- 四川外国语大学《德语视听》2023-2024学年第一学期期末试卷
- 苏州工艺美术职业技术学院《园艺疗法》2023-2024学年第一学期期末试卷
- 江苏省建湖县2025届初三下学期期末仿真模拟生物试题含解析
- 上海市松江区市级名校2025年高三4月阶段性检测试题(模拟)数学试题试卷含解析
- 山东省泰安市新城实验中学2024-2025学年第五中考测评活动初三元月调考物理试题含解析
- 辽宁省大连市高新园区重点名校2025届初三第三次(4月)考试数学试题含解析
- 七台河职业学院《创新创业》2023-2024学年第二学期期末试卷
- 上海市黄埔区达标名校2024-2025学年初三毕业生3月学习质量检测试题语文试题试卷含解析
- 2024年湖南省长沙市中考英语真题(原卷版)
- 2025年高三高考冲刺主题教育班会:《高三考前心理调适指南:减压赋能 轻松备考》-2024-2025学年高中主题班会课件
- 2025年安全生产考试题库(消防安全应急处置)消防设施运行维护试题
- 九一八事变课件
- 鄂尔多斯市水发燃气有限公司招聘笔试真题2024
- 2025年临海市纪委市监委下属事业单位公开选聘工作人员1人笔试备考题库及答案解析
- 河北省唐山市、廊坊市2025年高三高考第二次模拟演练思想政治试卷(含答案)
- 2025年春季江东控股集团有限责任公司社会招聘15人(安徽)笔试参考题库附带答案详解
- 湖北武汉市华中师大一附中2025届高三3月押轴试题物理试题试卷含解析
- 司法雇员考试题目及答案
- 2025年中国研发服务业行业市场调研分析及投资战略咨询报告
评论
0/150
提交评论