(微机原理及应用)编程题-试题集_第1页
(微机原理及应用)编程题-试题集_第2页
(微机原理及应用)编程题-试题集_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实用标准文档实用标准文档文案大全文案大全重庆科技学院试题库系统试题库导出试题(43题序:0017060110.0章号:03;8086/8088指令系统题干:变量DATAX和DATAY定义如:DATAX DW DW 2316HDATAY DW 0237HDW 4052H试编写一个程序段,实现将DATAX和DATAY两个字数据相乘(用MU答案:解: (1) MOV AX,MUL DATAYMOV DATAY,AXMOV DATAY+2,DX题序:0018060210.0章号:03;8086/8088指令系统题干:DATAXDATAYDATAXDW0148HDW2316HDATAYDW0237HDW4052H试编写一个程序段,实现将DATAX除以2(用DI答案:解:(1)MOVAX,DATAXMOVBL,23DIVBLMOV BL,AHMOVAH,0MOVDATAY,AX;存放商MOVAL,BLMOVDATAY+2,DX;存放余数题序:0002060310.0章号:03;8086/8088题干:试编写一个程序段,实现将BX10,结果仍放在BX答案:解: MOVCL,0AHMOVAX,BXDIV CLMOV题序:0016060310.0章号:03;8086/8088指令系统题干:变量DATAX和DATAY定义如:DATAX DW DW 2316HDATAY DW 0237HDW 4052H试编写一个程序段,实现将DATAX和DATAY中的两个双字数据相加,和存放在DATAY和答案:解: (1) MOV AX,ADD AX,DATAYMOV BX,DATAX+2ADD BX,MOV DATAY,AXMOV DATAY+2,BX题序:0020060310.0章号:03;8086/8088题干:N1和N22字节的非压缩BCD数码,请写出计算N1N2答案:解: MOV AX,MOV AL,N1+1SUBAL,N2+1AASMOV DL,ALMOV AL,N1SBBAL,N2AASMOV DH,AL题序:0006060210.0章号:04;汇编语言及程序设计题干:编写程序实现对两个存储区中的字进行比较。如找到一对不同的字,则退出,此时,ZF为0,DI0,ZF1答案:解: MATT: MOV SI,OFFSETSOURCE ;源区首MOV DI,OFFSETTARGET ;目的区首址MOV CX,NUMBERJCXZ EXIT CX结束PUSH CX ;保存有关寄存器PUSH SIPUSH DICLD ;清方向标志REPE CMPSWJZ MATCH PUSHF ;ZF1,则转移指向次字

SUB DI,2 ;ZF0,则DIPOPFJMP EXIT MATCH: POP DI ;恢复寄存器POP SIPOP CXEXIT: RET题序:0015060210.0章号:04;汇编语言及程序设计题干:根据下列要求编写一个汇编语言程序::代码段的段名为COD_SG数据段的段名为DAT_SG堆栈段的段名为STK_SG变量HIGH_DAT95将变量HIGH_DATAH,BHDL程序运行的入口地址为答案:解: DAT_SG SEGEMNTHIGH_DAT DB 95DAT_SG ENDS;STK_SG SEGMENTDW 64DUP(?)STK_SG ENDS;COD_SG SEGMENTMAIN PROC FARASSUMECS:COD_SG,DS:DAT_SG,SS:START: MOV AX,DAT-SGMOV DS,AXMOV AH,HIGH_DATMOV BH,AHMOV DL,AHMOV AH,4CHINT 21HMAIN ENDPCOD_SGENDSEND START题序:0026060210.0章号:04;汇编语言及程序设计题干:已知整数变量AB,试编写完成下述操作的程序:若两个数中有一个是奇数,则将该奇数存入AB若两个数均为奇数,则两数分别加1,并存回原变量;答案:解: dsegsegmentdw ?dw ?dsegendscseg segmentmain proc farassume start: 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 start题序:0001060310.0章号:04;汇编语言及程序设计题干:在DS段中有一个从TABLE开始的由160个字符组成的链表,设计一个程序,实现对此表进00答案:解: MOV CX,SEGTABLEMOV DS,CX 将段地址送MOV SI,OFFSETTABLE表偏移量送SIMOV CX,160 字节XOR AL,ALNEXT: CMP AL,[SI]JNE INC SILOOP NEXTEXIT1:MOV [SI],ALINC MOV [SI],AL题序:0004060310.0章号:04题干:解:MOV SI,OFFSETDATA1;将数据起始地址送SIMOVCX,5FH解:MOV SI,OFFSETDATA1;将数据起始地址送SIMOVCX,5FH;有60H-1次循环MOVAL,[SI];将第一个元素放AL中COMPARE:INCSICMPAL,[SI]JLXCHMAXJMPNEXTXCHMAX: MOV AL,NEXT: LOOP题序:0007060310.0章号:04题干:解: START:MOVCX,SEGTABLE;表段地址送ESMOVES,CXMOV解: START:MOVCX,SEGTABLE;表段地址送ESMOVES,CXMOVDI,OFFSETTABLE;表偏移量送DIMOVAL,'$';检索的关键字MOVCX,64H;检索的字节数PUSHDI;保存起始地址CLD清除方向标志REPNESCASB;检索JNZNFOUN;如未找到,则转移则指向字符

SUB DI,1 找到,JMP EXITNFOUN: POP DI ;恢复起始地EXIT: RET题序:0009060310.0章号:04;汇编语言及程序设计题干:编写程序实现两个16位非组合BCD码的数相加。答案:解: ANBCD: MOV CH,AH;进入程序段时中为第二个操作ADD AL,BL;BX中为被加数,实现低8位相乘AAAXCHGAL,CHADC AL,BH8AAAMOV AH,AL;和保存在AXMOV AL,CHRET题序:0010060310.0章号:04题干:16位非组合BCD答案:解: SUBCD: MOV CH,AH ;AX-BX->AX,为非组合BCD码SUB AL,AASXCHGAL,CHSBB AASMOV AH,ALMOV RET题序:0011060310.0章号:04;汇编语言及程序设计题干:编写程序实现两个16位组合BCD码相减,进入程序时,BX中为减数,AX中为被减数,程序执行后,结果在AX中。答案:解: STASUB:MOV CH,AH;保存高8位SUB AL,BL8DAS ;十进制调整XCHGAL,CHSBB AL,BH8DASMOV AH,AL;结果在AXMOV AL,CHRET题序:0012060310.0章号:04;汇编语言及程序设计题干:编写程序实现两个16位组合BCD码相加。进入程序时,BX中为加数,AX中为被加数,程序执行后,结果在AX中。答案:解: STAADD:MOV CH,AH ;AX+BX->AX,为组合BCD码ADD DAAXCHGAL,CHADC DAAMOV AH,ALMOV RET题序:0013060310.0章号:04;汇编语言及程序设计题干:82BCD时,如CF0AL中为BCD数字,如CF1答案:解: START: CMP AL,99;是否超出范围?JBE STRATSTC ;是,则转EXIT,并给CF置JC EXITSTRAT: MOV CL,10;10XOR AH,AHCBW ;将ALAHDIV CL ;除法结果AL中为高位中为低MOV CL,4SHL AL,CL4OR AL,AH;合成BCDALEXIT: RET题序:0014060310.0章号:04题干:编写程序用XLAT16的二进制数转换成ASCII16答案:解: START: JMP BINASCASCII DB BINASC:PUSHBXAND AL,0FH ;清除AL中高4LEA BX,ASCII;BX指向ASCII表XLAT ;转换为ASCIIPOP BXRET题序:0030060310.0章号:04题干:8086汇编程序:将字符缓冲区A'1234567890'倒序存放到缓冲区B答案:解:DSEGSEGMENTADB'1234567890'DSEGENDSESEGSEGMENTBDB10 DUP(?)ESEGENDSCSEGSEGMENTASSUME START: MOV AX,DSEGMOV DS,AXMOV AX,ESEGMOV ES,AXLEA SI,ALEA ADD DI,9MOV CX,10MOVE: CLDLODSBSTDSTOSBLOOP MOVEMOV AH,4CHINT 21HCSEG ENDSEND START题序:0031060310.0章号:04题干:8086汇编程序:查表求X(0-9)的立方并将结果存放到变量XXX答案:解:DATASEGMENTTABDW0,1,8,27,64,125,216,343,512,729XDB8XXXDW?DATAENDSCODE SEGMENTASSUMESTART:MOV AX,DATAMOVDS,AX;为DS送初值MOVAL,XADDAL,ALMOVBL,AL;求立方表的偏移MOVBH,0MOVAX,TAB[BX];查表MOVXXX,AX;保存MOVAH,4CH;返回DOSINT21HCODE ENDSTART题序:0033060310.0章号:04;汇编语言及程序设计题干:编写程序,计算下面函数的值。答案:解: DATA SEGMENTX DW 34S DW ?

2xs3x4x

(x0)(0xx10DATA ENDSCODE SEGMENTASSUME START:MOV AX,DATAMOV DS,AXMOV AX ,XCMP0

;将X送到AXAX ,A)0吗?JL DOUB;是,转向doubCMP10吗?

AX ,10JLE TRIB;是,转向tribSAL1

AX ,;否,乘以4SAL AX,1JMP EXITDOUB:1

SAL

AX ,;乘以2JMP EXITTRIB:1

SAL

AX ,;乘以3ADD AX,XEXIT:AX4CH

MOV

MOV

S ,;保存结果AH ,;结束INT 21HCODE ENDSEND START题序:0035060310.0章号:04;汇编语言及程序设计题干:已知在内存中从BLOCK205,4,-1,统计其中负数的个数并放入COUNT答案:解: DATA SEGMENTBLOCK DB CN EQU $-BLOCKCOUNT DB ?DATA ENDSCODE SEGMENTASSUME START:MOV AX,DATAMOVDS,AXMOVDL,0LEASI,BLOCKMOVCX,CNLP:MOVAL,[SI]TESTAL,80HJZNEXTINCDLNEXT:INCSILOOPLPMOVCOUNT,DLMOVAH,4CHINT 21HCODE ENDSEND START题序:0036060310.0章号:04;汇编语言及程序设计题干:编写程序先判断数据段中Buffer1单元中的字母是否是大写字母,若是,将其转换为对应的小写字母。答案:解: DATA SEGMENTBufferDB?DATA ENDSCODE SEGMENTASSUME START:MOV AX,DATAMOV DS,AXLEABX,OFFSETBufferMOVAL,[BX]CMP AL,'A'JB EXITCMP AL,'Z'JA EXITADD AL,20HMOV EXIT:MOV AH,02HINT 21HCODE ENDSEND START题序:0037060310.0章号:04题干:试定义将一位十六进制数转换为ASCII码的宏指令。答案:解: HEXTOA AND AL,0FHCMP AL,9JNA ADD AL,7HHEXTOA1:ADD ENDM题序:0041060310.0章号:04;汇编语言及程序设计题干:用循环控制指令设计程序段,从100个元素中寻找一个最大值,结果放在AL中(假设数据存放在起始地址为DATA1开始的单元中答案:解: MOV SI,OFFSETDATA1MOV CX,99MOV L1:INC SICMP JL L2JMPL3L2:MOV L3:LOOPL1HLT题序:0042060310.0章号:04;汇编语言及程序设计题干:在DS段中有一个从TABLE开始的由1000个字符组成的链表,设计一个程序段,实现对此表0答案:解: MOV CX,SEGTABLEMOV DS,CX 将段地址送MOV SI,OFFSETTABLE表偏移量送SIMOV CX,1000 ;字节XOR AL,ALL1:CMP JNE L2INC SILOOP L1L2:MOV INC SIMOV [SI],AL题序:0043060310.0章号:04题干:编写统计DATAWORD1COUNT答案:解:XOR MOV DL,16MOV AGAIN:ROL BX,1JNC NEXTADD AL,1NEXT: DEC JNC AGNINMOV COUNT,AL题序:0032060410.0章号:04;汇编语言及程序设计题干:已知用寄存器BX作地址指针,自BUF所指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论