
微机原理
微机原理与接口技术复习参考
beyond谚语
你只管努力,剩下的交给天意。
展开
-
编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。
编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。P154例4.11汇编思路:DATA段定义X、Y、RESULE分别用于存放随机数、存放随机数、存放最后计算结果。STACK段定义100DB大小的堆栈段运算存储空间。将AX获取到X的值,然后与Y进行CMP相减,判断JNS的值,结果是正数还是负数,若为正数直接将AX的值赋值给RESULT,然后调用4CH...原创 2019-12-27 22:02:48 · 4398 阅读 · 1 评论 -
编程统计BUF字单元数据中所含1的个数,并将结果存入COUNT单元中。
编程统计BUF字单元数据中所含1的个数,并将结果存入COUNT单元中。代码如下:DATA SEGMENTBUF DW 2345H ;随机存储一下数据COUNT DB ? ;用于统计BUF字单元数据中所含1的个数DATA ENDSSTACK SEGMENT STACK DB 100 DUP(?);在堆栈段开辟一段大小为100DB的存储空间STACK ENDSCODE SEGM...原创 2019-12-26 22:07:47 · 3352 阅读 · 0 评论 -
已知有几个数据存放在BUF为首址的字节存储区中,试统计其中正数的个数,并将结果存入ZNUM单元中。
已知有几个数据存放在BUF为首址的字节存储区中,试统计其中正数的个数,并将结果存入ZNUM单元中。P160例4.17汇编思路:DATA段,定义BUF存储区,定义一下DB类型的数据,N为定义数据的总个数,ZNUM用于存放最后的正数个数。STACK段,开辟一段大小为100DB的堆栈段的存储空间,用于进行运算。CODE段,首先让BX获取到BUF的有效地址,CX获取到N的值,用于循环,对AX清零,目...原创 2019-12-26 21:52:19 · 5158 阅读 · 0 评论 -
汇编语言编写程序从1加到100要求使用循环结构。
汇编语言编写程序从1加到100要求使用循环结构。汇编思路:AX用于存放每次累加的结果—>0+99+98+…+0首先,DATA段中定义SUM用来存放结果和,STACK段定义一个200DB类型空间,用来存放数据。CODE段,AX清0,CX赋值100次,循环CX次,以次与AX相加,直到CX自减为零结束,将AX的结果赋值给SUM,调用4CH号指令,结束程序返回到DOS系统。汇编代码如下:DA...原创 2019-12-24 17:36:23 · 19238 阅读 · 7 评论 -
设有两个16位整数变量A和B,试编写完成下述操作的程序。
设有两个16位整数变量A和B,试编写完成下述操作的程序。(1)若有两个数中一个是奇数,则将奇数存入A中,偶数存入B中。(2)若两个数均为奇数,则两数分别减1,并存回原变量中。(3)若两数均为偶数,则两变量不变。代码如下:DATA SEGMENTA DW ?B DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV...原创 2019-12-23 19:53:52 · 1390 阅读 · 2 评论 -
微机原理与接口技术(第2版)考点
第一章1,微型计算机的特点:功能强、可靠性高价格低廉系统设计灵活,适应性强体积小,重量轻,维护方便2,微型计算机的硬件组成微处理器内存储器I/O接口电路I/O设备系统总线3,微机的工作过程就是执行存放在存储器中的程序的过程,也就是逐条执行指令序列的过程,而执行一条指令需要以下4个基本操作取指令。按照程序所规定的次序,从内存储器某个地址中取出当前要执行的指令,送到...原创 2019-12-23 17:34:54 · 591 阅读 · 0 评论 -
将AX寄存器中的16位数据分成4组(从高到低),每组4位,然后把这4组数作为数当中的低4位分别放在AL,BL,CL,DL中。
将AX寄存器中的16位数据分成4组(从高到低),每组4位,然后把这4组数作为数当中的低4位分别放在AL,BL,CL,DL中。P1764.14编程思路:首先用BX、DX存放AX,即原AX=原BX=原DX;CL为循环移动二进制数位数4位AL存放AX中的AH的高四位,BL存放AX中的AH的低四位,CL存放AX中的AL的高四位,DL存放AX中的AL的低四位。对于AL来说,只需要将原AX的AH...原创 2019-12-22 21:24:22 · 7032 阅读 · 0 评论 -
编写一个汇编语言程序,完成以下要求。从BUF单元处定义有10个带符号字数据:-1,3,24,94,62,72,55,0,-48,99,试找出他们中的最大值和平均值,并以此分别存放至该数据区的后两个单元
编写一个汇编语言程序,完成以下要求。从BUF单元处定义有10个带符号字数据:-1,3,24,94,62,72,55,0,-48,99,试找出他们中的最大值和平均值,并以此分别存放至该数据区的后两个单元中(假设这10个数的和值不超过16位范围)P1764.12编程思路:首先DATA段中,定义BUF为DW数据类型,因为存在带符号字数据,N为记录BUF的数据总个数,MAX为DW数据类型存放最大值,...原创 2019-12-22 20:36:53 · 8776 阅读 · 0 评论 -
编写一个汇编语言程序,将字符串"Hello World"中的全部小写字母转换为大写字母,并存放回原地址处。
编写一个汇编语言程序,将字符串"Hello World"中的全部小写字母转换为大写字母,并存放回原地址处。P1764.10编程思路:首先DATA段中,定义string存放字符串"Hello World",LEN为字符串string长度;其次,BX获取string的有效地址,将string存放的字符串赋值给AL,通过AL进行与’a’和’z’这个范围进行比较,若在该范围表示为小写字母,则需要转换...原创 2019-12-22 19:13:13 · 7363 阅读 · 0 评论 -
编写计算表达式(X-Y+25)/Z的值得程序,要求将其商和余数分别放在A、B单元中。(设X和Y是32位无符号数,A、B和Z是16位无符号数,不考虑溢出情况。)
编写计算表达式(X-Y+25)/Z的值得程序,要求将其商和余数分别放在A、B单元中。(设X和Y是32位无符号数,A、B和Z是16位无符号数,不考虑溢出情况。)P151例4.8DATA SEGMENTX DD 334467ABHY DD 0DF342189HZ DW 5476HA DW ?B DW ?DATA ENDSSTACK SEGMENT STACK DB 50 DUP(...原创 2019-12-22 17:18:08 · 2306 阅读 · 0 评论 -
从键盘输入一个字符,判断其是不是大写字母,如果是则请输出这个大写字母,如果不是请输出“这不是一个大写字母”的英文信息(要求:能连续输出直到输出“#”结束)。
从键盘输入一个字符,判断其是不是大写字母,如果是则请输出这个大写字母,如果不是请输出“这不是一个大写字母”的英文信息(要求:能连续输出直到输出“#”结束)。DATA SEGMENTSTR DB 0DH,0AH,'This is not an upper letter!$'DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV A...原创 2019-12-22 16:40:19 · 6312 阅读 · 0 评论 -
编写一个程序,实现将存放在AX和DX中的32位数据循环右移二进制数的4位。(DX存放高字节内容,AX存放低字节内容)
编写一个程序,实现将存放在AX和DX中的32位数据循环右移二进制数的4位。(DX存放高字节内容,AX存放低字节内容)CODE SEGMENT ; DX,5678H AX,1234H ASSUME CS:CODE ; XH XLSTART: MOV AX,1234H ; 0001 0010 0011 0100 AX MOV DX,5678H ; 0101 ...原创 2019-12-21 21:00:25 · 6852 阅读 · 0 评论