收藏 分销(赏)

微型计算机原理与接口技术答案(1)省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件.ppt

上传人:w****g 文档编号:9896744 上传时间:2025-04-12 格式:PPT 页数:59 大小:241.54KB 下载积分:14 金币
下载 相关 举报
微型计算机原理与接口技术答案(1)省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件.ppt_第1页
第1页 / 共59页
微型计算机原理与接口技术答案(1)省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件.ppt_第2页
第2页 / 共59页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,本资料仅供参考,不能作为科学依据。谢谢。本资料仅供参考,不能作为科学依据。本资料仅供参考,不能作为科学依据。谢谢。本资料仅供参考,不能作为科学依据。,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,本资料仅供参考,不能作为科学依据。谢谢。本资料仅供参考,不能作为科学依据。本资料仅供参考,不能作为科学依据。谢谢。本资料仅供参考,不能作为科学依据。,第一章作业习题课,杭州电子科技大学自动化学院,微机原理与接口技术,1/59,2025/4/12 周六,1,微处理器,只是一个中央处理器(,CPU,),由算术逻辑部件(,ALU,),累加器和通用存放器组,程序计数器,时序和控制逻辑部件,内部总线等组成。微处理器不能组成独立工作系统,也不能独立执行程序,必须配上存放器,外部输入、输出接口组成一台微型计算机方能工作。,2.,微处理器,微型计算机,微型计算机系统有什么联络与区分?,2/59,2025/4/12 周六,2,微型计算机,由,CPU,,存放器,输入,/,输出接口电路和系统总线组成。它已含有计算功效,能独立执行程序,但若没有输入,/,输出设备,数据及程序不能输入,运算结果无法显示或输出,仍不能正常工作。,以微型计算机为主体,配上外部输入,/,输出设备及系统软件就组成了,微型计算机系统,。没有配置软件计算机称为裸机,依然什么工作也不能做,必须配置系统软件和应用软件,这么才能够正常提供使用。,3/59,2025/4/12 周六,3,微处理器是中央处理器(,CPU,)。它是由算术逻辑部件(,ALU,),累加器和存放器组,指令指针存放器,IP,,段存放器,时序和控制逻辑部件,内部总线等组成。,3.,微处理器有哪些主要部件组成?其功效是什么?,4/59,2025/4/12 周六,4,微处理器主要部件作用:,算术逻辑部件,主要完成算术运算及逻辑运算。,通用存放器组,用来存放参加运算数据、中间结果或地址。,程序计数器,指向要执行下一条指令,次序执行指令时,每取一个指令字节,程序计数器加,1,。,控制逻辑部件,负责对整机控制,包含从存放器中取指令,对指令进行译码和分析,确定指令操作及操作对应控制信号和时序,送到微型计算机其它部件,使,CPU,内部及外部协调工作。,内部总线,用来传送,CPU,内部数据及控制信号。,5/59,2025/4/12 周六,5,第二章 作业习题课,6/59,1.8086CPU,由哪两部分组成?它们主要功效是什么?,8086CPU,由,总线接口部件,BIU,和指令执行部件,EU,组成,,BIU,和,EU,操作是并行。,总线接口部件,BIU,功效:地址形成、取指令、指令排队、读,/,写操作数和总线控制。全部与外部操作由其完成。,指令执行部件,EU,功效:指令译码,执行指令。,7/59,2025/4/12 周六,7,8086CPU,存放器有通用存放器组、指针和变址存放器、段存放器、指令指针存放器及标志位存放器,PSW,。,4,个,16,位通用存放器,,它们分别是,AX,,,BX,,,CX,,,DX,,用以存放,16,位数据或地址。也可分为,8,个,8,位存放器来使用,低,8,位是,AL,、,BL,、,CL,、,DL,,高,8,位是,AH,、,BH,、,CH,、,DH,,只能存放,8,位数据,不能存放地址。,2.8086CPU,中有哪些存放器?各有什么用途?,8/59,2025/4/12 周六,8,指针和变址存放器,存放内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。,段存放器,给出对应逻辑段首地址,称为“段基址”。段基址与段内偏移地址结合形成,20,位物理地址。,指令指针存放器,用来存放将要执行下一条指令在现行代码中偏移地址。,16,位,标志存放器,PSW,用来存放运算结果特征,惯用作后续条件转移指令转移控制条件。,9/59,2025/4/12 周六,9,比较两数是否相等?,将两数相减,当全零标志位,ZF=1,时,说明两数相等,当,ZF=0,时,两数不等。,两数运算后结果是正数还是负数?,用符号标志位,SF,来判断,,SF=1,,为负数;,SF=0,,为正数。,5.,要完成下述运算或控制,用什么标志位判断?其值是什么?,10/59,2025/4/12 周六,10,两数相加后是否溢出?,用溢出标志位来判断,,OF=1,,产生溢出;,OF=0,,没有溢出。,采取偶校验方式。判定是否要补“,1”,?,用奇偶校验标志位判断,有偶数个“,1”,时,,PF=1,,不需要补“,1”,;有奇数个“,1”,时,,PF=0,,需要补“,1”,。,11/59,2025/4/12 周六,11,(,5,)两数相减后比较大小?,ZF=1,时,说明两数是相等;,ZF=0,时:,无符号数时,,,CF=0,,被减数大;,CF=1,,被减数小。,带符号数时,,,SF=OF=0,或,SF=OF=1,,被减数大;,SF=1,,,OF=0,或,SF=0,,,OF1,,被减数小。,(,6,)中止信号能否允许?,用中止标志位来判断,,IF=1,,允许,CPU,响应可屏蔽中止;,IF=0,,不响应。,12/59,2025/4/12 周六,12,8086,存放器采取分体式结构:偶地址存放体和奇地址存放体,各为,512k,。,用,A,0,和,BHE,来选择存放体。当,A,0,=0,时,访问偶地址存放体;当,BHE=0,时,访问奇地址存放体;当,A,0,=0,,,BHE=0,时,访问两个存放体。,6.8086,系统中存放器采取什么结构?用什么信号来选中存放体?,13/59,2025/4/12 周六,13,9.,实模式下,段存放器装入以下数据,写出每段起始和结束地址。(,未布置!,),a)1000H,10000H,1FFFFH,b)1234H,12340H,2233FH,c)2300H,23000H,32FFFH,d)E000H,E0000H,EFFFFH,e)AB00H,AB000H,BAFFFH,14/59,2025/4/12 周六,14,10.,在实模式下对以下,CS:IP,组合,求出要执行下一条指令存放器地址。,a)CS:IP=1000H:H,1H,b)CS:IP=H:1000H,21000H,c)CS:IP=1A00H:B000H,25000H,d)CS:IP=3456H:AB09H,3F069H,15/59,2025/4/12 周六,15,11.,实模式下,求以下存放器组合所寻址存放单元地址:,a)DS=1000H,DI=H,1H,b)SS=2300H,BP=3200H,26200H,c)DS=A000H,BX=1000H,A1000H,d)SS=2900H,SP=3A00H,2CA00H,16/59,2025/4/12 周六,16,12.,若当前,SS,3500H,,,SP,0800H,,说明堆栈段在存放器中物理地址,若此时入栈,10,个字节,,SP,内容是什么?若再出栈,6,个字节,,SP,为何值?,堆栈段物理地址范围:,35000H,44FFFH,当前栈顶物理地址为:,35000H+0800H=35800H,入栈,10,个字节以后:,SP=0800H-000AH=07F6H,出栈,6,个字节以后:,SP=07F6H+0006H=07FCH,17/59,2025/4/12 周六,17,13.,某程序数据段中存放了两个字,,1EE5H,和,2A8CH,,已知,DS,7850H,,数据存放偏移地址为,3121H,及,285AH,。试画图说明它们在存放器中存放情况。若要读取这个两个字,需要对存放器进行几次操作?,18/59,2025/4/12 周六,18,它们物理地址分别是:,78500H+3121H=7B621H,,,78500H+285AH=7AD5AH,。,1EE5H,偏移地址是,3121H,,是奇地址,需要进行两次操作;,2A8CH,偏移地址是,285AH,,是偶地址,需要一次操作。,19/59,2025/4/12 周六,19,最小模式为单机系统,系统中所需要控制信号由,CPU,提供,实现和存放器及,I/O,接口电路连接。,15.,说明,8086,系统中“最小模式”和“最大模式”两种工作方式主要区分是什么?,20/59,2025/4/12 周六,20,最大模式能够组成多处理器,/,协处理器系统,即一个系统中存在两个以上微处理器,每个处理器执行自己程序。系统中所需要控制信号由总线控制器,8288,提供,,8086CPU,提供信号控制,8288,,以实现全局资源分配及总线控制权传递。在两种模式中,,CPU,2431,引脚意义不一样。,最小模式中引脚,MN/MX,接,5V,,最大模式中该引脚接地。,21/59,2025/4/12 周六,21,CPU,与存放器(或者,I/O,端口)进行数据交换时,,CPU,首先要送出地址信号,然后再发出控制信号及传送数据。因为,8086,引脚限制,地址和数据分时复用一组总线,所以要加入地址锁存器,先锁存地址,使在读,/,写总线周期内地址稳定。,16.,8086,系统中为何要用地址锁存器?,8282,地址锁存器与,CPU,怎样连接?,22/59,2025/4/12 周六,22,8282,是三态缓冲,8,位数据交换锁存器,由选通信号,STB,与,CPU,地址锁存允许信号,ALE,相连,当,STB,端选通信号出现,,8,位输入数据锁存到,8,个,D,触发器中。,中止允许标志位,IF,控制,INTR,引脚中止输入。,17.,哪个标志位控制,CPU,INTR,引脚?,23/59,2025/4/12 周六,23,总线周期,:,BIU,完成一次访问存放器或,I/O,端口操作所需要时间。,读总线周期,在,T,3,或,T,W,状态数据出现在数据总线上;写总线周期,在,T,2,状态数据出现在数据总线上。,18.,什么叫总线周期?在,CPU,读,/,写总线周期中,数据在哪个机器状态出现在数据总线上?,24/59,2025/4/12 周六,24,20.,8086CPU,重新开启后,从何处开始执行指令?,从内存,FFFF0H,开始执行指令。,21.,8086CPU,最小模式系统配置包含哪几部分?,包含时钟发生器、地址锁存器、数据收发器、存放器及,I/O,接口。,25/59,2025/4/12 周六,25,补充题,1,:已知段地址和偏移地址分别为,H,和,0028H,,此存放单元物理地址是什么?,存放单元物理地址,:,0H+0028H=8H,补充题,2,:若,CS,A000H,,求当前代码在存放器中物理地址范围是什么?若数据段位于,5H,到,61FFFH64K,范围内,问,DS=,?,物理地址范围:,A0000HAFFFFH,,,DS=5200H,。,26/59,2025/4/12 周六,26,第三章作业习题课,杭州电子科技大学自动化学院,微机原理与接口技术,27/59,12 四月 2025,2.,DS=1000H,BX=0200H,SI=0002H,(,10200H10205H),依次存有,10H,2AH,3CH,46H,59H,6BH,(,1,),MOV AX,0200H ;,AX=0200,(,2,),MOV AX,200H,物理地址,=1000H10H+0200H=10200H,AX=2A10H,(,3,),MOV AX,BX,;AX=0200H,(,4,),MOV AX,3BX,物理地址,=1000H10H+0200H+3H=10203H,AX=5946H,(,5,),MOV AX,BX+SI,物理地址,=1000H10H+0200H+2H=10202H,AX=463CH,(,6,),MOV AX,2BX+SI,物理地址,=1000H10H+200H+2H+2H=10204H,AX=6B59H,28/59,12 四月 2025,3.DS=1000H,ES=H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,VAL=0030H,(,1,),MOV AX,100H,直接寻址方式,,10100H,物理地址,DS10H+100H=10000H+0100H=10100H,(,2,),MOV AX,VAL,直接寻址方式,,10030H,物理地址,DS10H+VAL=10000H+0030H=10030H,(,3,),MOV AX,BX,存放器间接寻址,,10100H,物理地址,DS10H+BX=10000H+0100H=10100H,(,4,),MOV AX,ES:BX,存放器间接寻址,,0H,物理地址,ES10H+BX=0H+0100H=0H,(,5,),MOV AX,SI,存放器间接寻址,,100A0H,物理地址,=DS10H+SI=10000H+00A0H=100A0H,29/59,12 四月 2025,(,6,),MOV AX,BX+10H,存放器相对寻址,,10110H,物理地址,=DS10H+BX+10H=10000H+0100H+10H=10110H,(,7,),MOV AX,BP,存放器间接寻址,,35200H,物理地址,=SS10H+BP=35000H+0200H=35200H,(,8,),MOV AX,VALBPSI,相对基址变址寻址,,352D0H,物理地址,=SS10H+BP+SI+VAL,=35000H+0200H+00A0H+0030H=352D0H,(,9,),MOV AX,VALBXDI,相对基址变址寻址,,10154H,物理地址,=DS10H+BX+DI+VAL,=10000H+0100H+0024H+0030H=10154H,(,10,),MOV AX,BPDI,基址变址寻址,,35224H,物理地址,=SS10H+BP+DI,=35000H+0200H+0024H=35224H,30/59,12 四月 2025,6,(,1,),MOVDL,AX,错,存放器寻址方式中,目标操作数与源操作数长度必须一致,(,2,),MOV 8650H,AX,错,目标操作数不能够是马上数,(,3,),MOVDS,0200H,错,,MOV,指令不允许将马上数传入段存放器,(,4,),MOVBX,1200H,错,MOV,指令两个操作数不能同时为存放器,(,5,),MOVIP,0FFH,错,IP,不能作为,MOV,指令目标操作数,(,6,),MOVBX+SI+3,IP,错,IP,不能作为,MOV,指令源操作数,(,7,),MOVAX,BXBP,错,,BX,与,BP,不能够同时出现在源操作数当中,(,8,),MOVAL,ES:BP,对,31/59,12 四月 2025,(,9,),MOVDL,SIDI,错,,SI,与,DI,是两个变址存放器,不能够同时出现在源操作数中。,(,10,),MOV AX,OFFSET 0A20H,错,,OFFSET,后面跟应该是符号地址,再把符号地址值作为操作数。,(,11,),MOV AL,OFFSET TABLE,错,,TABLE,偏移地址是,16,位,目标与源长度不一致,(,12,),XCHGAL,50H,错,交换指令能够在存放器之间,存放器和存放器之间进行,不能够是马上数。,(,13,),INBL,05H,错,BL,不能作为,IN,指令目标操作数,只能用,AL,或,AX,(,14,),OUTAL,0FFEH,错,端口地址,0FFEHFFH,应用,DX,间接寻址,同时源操作数和目标操作数位置颠倒了,应改为,OUT DX,AL,。,32/59,12 四月 2025,8.SS=1050H,SP=0100H,AX=4860H,BX=1287H,48H,60H,1050H:00FEH,SP,(a),执行,PUSH AX,后,1050H:00FCH,48H,60H,12H,87H,SP,(b),执行,PUSH BX,后,1050H:00FEH,87H,12H,60H,48H,SP,(c),执行,POP BX,后,1050H:0100H,87H,12H,60H,48H,SP,(d),执行,POP AX,后,33/59,12 四月 2025,10.ARRAY DB ,NEWDB 7 DUP,(?),SUM DW 0,AVERAGEDB 0,(,1,),MOVCX,07H,MOVBX,00H,NEXT,:,MOVAL,ARRAYBX,ADDAL,,,5,DAA,MOVNEWBX,,,AL,INCBX,LOOPNEXT,HLT,34/59,2025/4/12 周六,34,(,2,),MOVCX,06H,MOVBX,,,01H,MOVAH,00H,MOV AL,,,ARRAY,L1:ADD AL,,,ARRAYBX,DAA,ADCAH,00H;,将进位加到,AH,中,INCBX,LOOP L1,MOVSUM,AX,35/59,2025/4/12 周六,35,(,3,),MOVDX,SUM;DX=0H(BCD,码,),MOVBL,07H,MOVAX,DX;,取千位、百位数,ANDAL,0F0H,MOVCL,04H,ROLAL,CL;AX=00H,AAD;ALAH10,AL,AH00,DIVBL,;十位商在,AL,中,余数在,AH,中,MOVAVERAGE+1,AL,;存平均成绩十位,MOVAL,DL,;取个位和数,ANDAL,0FH,AAD,;,ALAH10,AL,AH00,DIVBL,;个位商在,AL,中,余数在,AH,中,MOVAVERAGE,AL,;存平均成绩个位,MOVAVERAGE+2,AH;,存余数,36/59,2025/4/12 周六,36,11.AX=2508H,,,BX=0F36H,,,CX=0004H,,,DX=1864H,(,1,),ANDAH,CL,AH=04H,,,CF=0,;(,0010 0101B,与,0000 0100B,),(,2,),ORBL,30H,BL=36H,,,CF=0,;(,0011 0110B,或,0011 0000B,),(,3,),NOTAX,AX=DAF7H,,,CF,无影响;(,0010 0101 0000 1000B,取反后,1101 1010 1111 0111B,),(,4,),XORCX,0FFF0H,CX=FFF4H,,,CF=0,;(,0000 0000 0000 0100B,和,1111 1111 1111 0000B,异或后,1111 1111 1111 0100B,),(,5,),TEST DH,0FH,TEST,操作并不修改结果,,CF=0,;,37/59,2025/4/12 周六,37,(,6,),CMPCX,00H,CMP,操作并不修改结果,,CF=0,;,(,7,),SHRDX,CL,DX=0186H,,,CF=0,;,(,8,),SARAL,1,AH=04H,,,CF=0,;,(,9,),SHLBH,CL,BH=F0H,,,CF=0,;,(,10,),SALAX,1,AX=4A10H,,,CF=0,;(,0010 0101 0000 1000B,左移,),(,11,),RCLBX,1,若程序执行之前,CF=0,,,BX=1E6CH,,,CF=0,;,若程序执行之前,CF=1,,,BX=1E6DH,,,CF=0,。,(,12,),ROR DX,CL,DX=4186H,,,CF=0,。,38/59,2025/4/12 周六,38,12.DATASEGMENT,STRING DB The personal computer&TV,DATA ENDS,EDATA SEGMENT,GET_CHARDB26DUP(?),NEW_STRDBThe computer,EDATA ENDS,(1)MOV SI,OFFSET STRING,MOV DI,OFFSET GET_CHAR,MOV CX,001AH,CLD,REPMOVSB,39/59,2025/4/12 周六,39,(2)MOVSI,OFFSET STRING,MOVDI,OFFSET NEW_STR,MOV CX,001AH,CLD,REPZCMPSB,;,DS:SI-ES:DI,JNECLR_AL,MOVAL,1,JMP SET_BL,CLR_AL:MOVAL,0,SET_BL:MOVBL,001AH,SUBBL,CL,HLT,40/59,2025/4/12 周六,40,(,3,),MOVDI,OFFSETSTRING,MOVCX,001AH,MOVAL,&,CLD,L1:,SCASB,;,AL,-ES:DI,JZ FIND,NEXT:LOOPL1,HLT,FIND:MOV BL,MOV DI-1,BL;,用空格替换,&,JMPNEXT,41/59,2025/4/12 周六,41,(,4,),MOV SI,OFFSET STRING,;数据段,源串,MOV DI,OFFSET CAPS,;附加段,大写字符,MOV BX,OFFSET CHART,;附加段,其它字符,MOV CX,001AH,CLD,L1:LODSB,;,ALDS:SI,MOVSI-1,00H;,取出字符后该单元清零,CMPAL,A,JBOTHER,CMPAL,Z,JAOTHER,STOSB;,存大写字符,JMPL2,OTHER:XCHGBX,DI;,存其它字符,STOSB,XCHG BX,DI,L2:LOOPL1,HLT,42/59,2025/4/12 周六,42,14,.(1)JMPPROG_N,段内直靠近转移,目标地址为,1200H:0278H(,或,12278H),(2)JMPBX,段内存放器间接转移,目标地址为,1200H:0300H(,或,12300H),(3)JMPBX,物理地址,DS10H+BX=H10H+0300H=20300H,(20300H)=4800H,IP,段内存放器间接转移,目标地址为,1200H:4800H(,或,16800H),(4)JMPFARPROG_F,段间立接转移,目标地址为,3400H:0ABCH(,或,34ABCH),(5)JMPDWORDPTRBX,物理地址,DS10H+BX=H10H+0300H=20300H,(20300H)=4800H,IP,(20302H)=00FFH,CS,段间存放器间接转移,目标地址为,00FFH:4800H(,或,057F0H),43/59,2025/4/12 周六,43,JMP,改为,CALL,后,目标地址与,JMP,相同。,(1)CALLPROG_N,段内直接调用,,3,字节指令,,0103H,入栈,(2)CALLBX,段内存放器间接调用,,2,字节指令,,0102H,入栈,(3)CALLBX,段内存放器间接调用,,2,字节指令,,0102H,入栈,(4)CALLFARPROG_F,段间直接调用,,5,字节指令,,1200H,和,0105H,分别入栈,(5)CALLDWORDPTRBX,段间间接调用,,2,字节指令,,1200H,和,0102H,分别入栈,44/59,2025/4/12 周六,44,15.,(,1,),LOOPNEXT,(,2,),LOOPENEXT,(,3,),LOOPNENEXT,START:MOVAX,01H,MOVBX,02H,MOVDX,03H,MOVCX,04H,NEXT:INCAX,ADDBX,AX,SHRDX,1,(),程序运行前,DX=00000011B,(,1,),AX=05H BX=10H CX=00H DX=00H,(,2,),AX=02H BX=04H CX=03H DX=01H,(,3,),AX=03H BX=07H CX=02H DX=00H,45/59,2025/4/12 周六,45,18.,(,1,)中止类型号为,0040H/4=10H,(,2,)中止服务程序段地址为,D169H,,偏移地址为,240BH,,即,D169H:240BH,,物理地址为,D169H10H,240BH,D3A9BH,0BH,24H,69H,D1H,0000H:0040H,0000H:0042H,中止向量表,46/59,2025/4/12 周六,46,第四章作业习题课,杭州电子科技大学自动化学院,微机原理与接口技术,47/59,12 四月 2025,1.,以下变量各占多少字节?,A1DW23H,5876H,A2DB3 DUP(?),0AH,0DH,$,A3DD5 DUP(1234H,567890H),A4DB4 DUP(3 DUP(1,2,ABC),解:,A1,变量占,4,个字节;,A2,变量占,6,个字节;,A3,变量占,58,40,个字节;,A4,变量占,435,60,个字节;,48/59,2025/4/12 周六,48,3.,有符号定义语句以下:,BUFDB3,4,5,123,ABUFDB0,LEQUABUF-BUF,求,L,值为多少?,解:,BUF,共定义了,6,个字节,则,ABUF,地址为,ABUF+6,,所以,L,值为,6,。,49/59,2025/4/12 周六,49,19,应考虑数组中可能出现,多个,0,情况,程序以下:,EDATASEGMENT,;定义数据段,BUFFDBN,XXH,MEQU0,EDATAENDS,;,STACKSEGMENTSTACK,;定义堆栈段,DW50H DUP(?),TOPLABELWORD,STACKENDS,;,50/59,2025/4/12 周六,50,CODESEGMENT,;定义代码段,ASSUME CS:CODE,ES:EDATA,DS:EDATA,SS:STACK,MAINPROC FAR,START:MOVAX,STACK,;初始化堆栈段,MOVSS,AX,MOVSP,OFFSET TOP,PUSHDS,;程序段前缀,MOVAX,0,PUSHAX,MOVAX,EDATA,;初始化,ES,,,DS,MOVES,AX,MOVDS,AX,51/59,2025/4/12 周六,51,MOVAL,M,;关键字,M,存入,AX,MOVDI,OFFSET BUFF,MOVCX,DI,;数组长度存入,CX,INCDI,;指向数组起始地址,CLD,;清方向标志,L1:REPNE SCASB,;重复搜索关键字,JNZSTOP,;未找到,转,STOP,结束,JCXZSTOP,;最终一个数是,M,,转,STOP,PUSHDI,;关键字下一单元地址和循,PUSHCX,;环次数入栈保护,52/59,2025/4/12 周六,52,DEL:MOVBL,DI,;前移,末尾补,0,MOVDI-1,BL,INCDI,LOOPDEL,MOVDI,0,POPCX,;恢复,CX,,,DI,POPDI,DECDI,;因为,REPNE SCASB,已自动加,1,JMPL1,STOP:RET,MAINENDP,CODEENDS,ENDSTART,53/59,2025/4/12 周六,53,22,设学生人数为字节,成绩为压缩,BCD,码,且都是正当。,程序以下:,EDATA SEGMENT,;定义数据段,BUFF DBXXH,ANUM EQU$,BUFF,SNUM DB5 DUP(0),;存放各类成绩统计结果,BUFF1 DBANUM DUP(0),;存放,60,分以下成绩,BUFF2 DBANUM DUP(0),;存放,60,69,分成绩,BUFF3 DBANUM DUP(0),;存放,70,79,分成绩,BUFF4 DBANUM DUP(0),;存放,80,89,分成绩,BUFF5 DBANUM DUP(0),;存放,90,分以上成绩,EDATA ENDS,54/59,2025/4/12 周六,54,STACK SEGMENTSTACK,;定义堆栈段,DW50H DUP(?),TOPLABELWORD,STACK ENDS,CODE SEGMENT,;定义代码段,ASSUME CS:CODE,ES:EDATA,DS:EDATA,SS:STACK,MAIN PROCFAR,START:MOVAX,STACK,;初始化堆栈段,MOVSS,AX,MOVSP,OFFSET TOP,PUSHDS,;程序段前缀,MOVAX,0,PUSHAX,55/59,2025/4/12 周六,55,MOVAX,EDATA,;初始化,ES,,,DS,MOVES,AX,MOVDS,AX,MOVCL,ANUM,;取学生人数,MOVCH,0,MOVBH,0,MOVSI,OFFSET BUFF,;成绩偏移地址,SI,MOVDI,OFFSET SNUM,;统计结果偏移地址,DI,L1:MOVAL,SI,;取成绩,AL,CMPAL,60H,;与,60,分比较,JAENEXT1,;高于等于,60,分,转,NEXT1,56/59,2025/4/12 周六,56,MOVBL,DI,;低于,60,分存入对应区域,MOVBUFF1BX,AL,INCBYTE PTR DI,;,60,分计数单元加,1,JMPNEXT5,;转,NEXT5,NEXT1:CMPAL,69H,;与,69,分比较,JANEXT2,MOVBL,DI+1,;,60,69,分存入对应区域,MOVBUFF2BX,AL,INCBYTE PTR DI+1,;,60,69,分计数单元加,1,JMPNEXT5,57/59,2025/4/12 周六,57,NEXT2:CMPAL,79H,JANEXT3,MOVBL,DI+2,MOVBUFF2BX,AL,INCBYTE PTR DI+2,JMPNEXT5,NEXT3:CPMAL,89H,JANEXT4,MOVBL,DI+3,MOVBUFF3BX,AL,INCBYTE PTR DI+3,JMPNEXT5,58/59,2025/4/12 周六,58,NEXT4:,MOVBL,DI+4,MOVBUFF4BX,AL,INCBYTE PTR DI+4,NEXT5:INCSI,;地址指针加,1,LOOPL1,;未判断完转,L1,RET,MAINENDP,CODEENDS,ENDSTART,59/59,2025/4/12 周六,59,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服