已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来.答案:abc: mov ah,1int 21hcmp al,ajb stopcmp al,zja stopsub al,20hmov dl,almov ah,2int 21hjmp abcstop: ret2、编写程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示MATCH,若不同则显示NO MATCH.答案:datarea segmentstring1 db asfioastring2 db xcviyoafmess1 db MATCH,$mess2 db NO MATCH,$datarea endsprognam segmentmain proc farassume cs:prognam,ds:datareastart:push dssub ax,axpush axmov ax,datareamov ds,axmov es,axbegin:mov cx, string2-string1mov bx, mess1-string2cmp bx,cxjnz dispnolea dx,addrlea si,string1lea di,string2repe cmpsbjne dispnomov ah,9lea dx,mess1int 21hretdispno:mov ah, 9lea dx, mess2int 21hretmain endpprognam endsend start3、试编写程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息:(1)如果3个数都不相等则显示0;(2)如果3个数中有2个数相等则显示2;(3)如果3个数都相等则显示3.答案:data segmentarray dw 3 dup( )data endscode segmentmain proc farassume cs:code,ds:datastart:push dssub ax,axpush axmov ax,datamov ds,axmov cx,3lea si,arraybegin:push cxmov cl,4mov di,4mov dl, mov ah,02int 21hmov dx,0input:mov ah,01int 21hand al,0fhshl dx,clor dl,aldec dijne inputmov si,dxadd si,2pop cxloop begincomp:lea si,arraymov dl,0mov ax,simov bx,si+2cmp ax,bxjne next1add dl,2next1:cmp si+4,axjne next2add dx,2next2:cmp si+4,bxjne numadd dl,2num:cmp dx,3jl dispmov dl,3disp:mov ah,2add dl,30hint 21hretmain endpcode endsend start4、已知整数变量A和B,试编写完成下述操作的程序:(1)若两个数中有一个是奇数,则将该奇数存入A中,偶数存入B中;(2)若两个数均为奇数,则两数分别加1,并存回原变量;(3)若两个数均为偶数,则两变量不变.答案:dseg segmenta dw b dw dseg endscseg segmentmain proc farassume cs:cseg,ds:dsegstart: push dssub ax,axpush axmov ax,dsegmov ds,axbegin: mov ax,amov bx,bxor ax,bxtest ax,0001jz classtest bx,0001jz exitxchg bx,amov b,bxjmp exitclass: test bx,0001jz exitinc binc aexit: retmain endpcseg endsend start5、把010010之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩.另一个数组RANK是30个学生的名次表,其中RANK+I的内容是学号为i+1的学生的名次.试编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中(提示:一个学生的名次等于成绩高于这个学生的人数加1).答案:dseg segmentgrade dw 30 dup( )rank dw 30 dup( )dseg endscseg segmentmain proc farassume cs:cseg, ds:dseg, es:dsegstart: push dssub ax,axpush axmov ax,dsegmov ds,axmov es,axbegin: mov di,0mov cx,30loop1: push cxmov cx,30mov si,0mov ax,gradedimov dx,0loop2: cmp gradesi,axjbe go_oninc dxgo_on: add si,2loop loop2pop cxinc dxmov rankdi,dxsdd di,2loop loop1retmain endpcseg endsend start6、分析下列程序的功能,写出堆栈最满时各单元的地址及内容.SSEG SEGMENT STACK AT 1000H ; 堆栈的段地址为1000HDW 128 DUP( )TOS LABEL WORDSSEG ENDS; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -DSEG SEGMENTDW 32 DUP( )DSEG ENDS; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CSEG SEGMENTMAIN PROC FARASSUME CS:CSEG, DS:DSEG,SS:SSEGSTART: MOV AX,SSEGMOV SS,AXMOV AX,DSEGMOV DS,AXMOV AX,4321HCALL HTOARETN: MOV AH,4CHINT 21HMAIN ENDP; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -HTOA PROC NEARCMP AX,15JLE B1PUSH AXPUSH BPMOV BP,SPMOV BX,BP+2AND BX,0FHMOV BP+2,BXPOP BPMOV CL,4SHR AX,CLCALL HTOAB1: POP AXB2: ADD AL,30HJL PRTADD AL,07PRT: MOV DL,ALMOV AH,2INT 21HRETHTOA ENDPCSEG ENDS; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -END START答案:1000:0F2HB11000:0F4H31000:0F6HB11000:0F8H21000:0FAHB11000:0FCH11000:0FEHRETN1000:100H7、写出分配给下列中断类型号在中断向量表中的物理地址.(1) INT 12H (2) INT 8答案:(1) 00048h (2) 00020h8、试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束.两个状态寄存器的端口地址分别是0024和0036,与其相应的数据输入寄存器的端口则为0026和0038,输入字符分别存入首地址为BUFF1和BUFF2的存储区中.答案:mov si, 0mov di, 0test12: in al, 0024h test al, 08jnz exitin al,0036h test al, 08jnz exitdev1: in al, 0024h test al, 01jz dev2in al, 0026h mov buffersi, alinc sidev2: in al, 0036h test al, 01jz test12in al, 0038h mov buff2di,alinc dijmp test12exit: ret9、给定(SP)=0100,(SS)=0300,(FLAGS)=0240,存储单元的内容为(00020)=0040,(00022)=0100,在段地址为0900及偏移地址为00A0的单元中有一条中断指令INT 8,试问执行INT 8指令后,SP,SS,IP,FLAGS的内容是什么栈顶的三个字是什么 答案:(SP) = 00FA(SS) = 0300(IP) = 0040(FLAGS) = 0040堆栈内容:00A1H0900H0240H10、编写一个程序,接收从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER.加密表为;输入数字: 0,1,2,3,4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 颈椎畸形护理查房流程详解
- 骨科护理中的健康教育策略与实践
- 脑梗病人家庭护理要点
- 晋城英语教编试题及答案
- 咳嗽咳痰试卷附答案
- 废纸制浆工交接模拟考核试卷含答案
- 计算机维修工岗位岗中技能考核试卷含答案
- 二硫化碳生产工安全文化考核试卷含答案
- 润滑油调合操作工操作技能测试考核试卷含答案
- 矫形器装配工安全理论水平考核试卷含答案
- 小升初小学数学《找规律》大题量练习总复习试卷练习题一
- 2026年北京市西城区初三下学期二模语文试卷及答案
- 非结核分枝杆菌肺病诊疗专家共识(2026版)
- 北京市海淀区2026届高三高考二模语文试卷(含答案)
- 2026年食品安全管理员资格考试试题【带答案】
- TCBDA63-2022建筑装饰室内石材及瓷板干挂技术规程
- 2022浪潮英政服务器CS5260H2用户手册
- 装修1单位工程人材机汇总表
- 2024年上海市中考语文备考之14本必读名著最全知识点整理
- 四川大学华西医院住院总医师管理办法
- 天津大学毕业论文答辩PPT模板
评论
0/150
提交评论