当前位置: 代码迷 >> 综合 >> 汇编语言(32位除法、分支结构、循环结构,奇偶校验,ascii转换,功能号调用)
  详细解决方案

汇编语言(32位除法、分支结构、循环结构,奇偶校验,ascii转换,功能号调用)

热度:48   发布时间:2023-11-21 12:33:48.0

题目:

1)顺序结构:编写一个32位无符号数除法的程序。要求将存放在NUM1中的32位无符号数与存放在NUM2中的16位无符号数相除,结果存放在NUM3和NUM4中。

根据题目要求,应把存放在数据段内的被除数NUM1定义为32位,除数NUM2定义为16位,商NUM3定义为16位,余数NUM4定义为16位。

2)分支结构:编写一个字符比较程序,比较 3 个无符号字节数 ABC 的大小,并根据比较结果 对变量 K 赋值:

如果 3 个数不相等,则 K=0

如果 3 个数中有两个相等,则 K=1

如果 3 个数都相等,则 K=2

3)循环结构:将字符串STRN(以“$”结尾)中的每一个字符均加上偶校验位,并统计有多少个字符因含有奇数个“1”而加上了校验位。K统计结果存于N单元中。

4)子程序结构:将BUF开始的10个单元两位十六进制数转换成ASCII码,并在屏幕上显示出来。码型转换由子程序HEXASC实现,参数传送采用寄存器传送方式。

第一题:

框图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_6,color_FFFFFF,t_70,g_se,x_16

 

代码:

 

DATA SEGMENTNUM1 DD 12345678HNUM2 DW 3456HNUM3 DW ?NUM4 DW ?
DATA ENDS
CODE SEGMENTASSUME CS:CODE, DS:DATA
START:MOV AX,DATAMOV DS,AXMOV DX,DS:[0002]MOV AX,DS:[0000]DIV NUM2MOV NUM3,AXMOV NUM4,DXMOV AH,4CHINT 21H
CODE ENDS	END START

截图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16 

第二题:

框图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_11,color_FFFFFF,t_70,g_se,x_16

 

 代码:

DATA SEGMENTA DB 01HB DB 01HC DB 01HK DB ?
DATA ENDS
CODE SEGMENT
START:ASSUME CS:CODE,DS:DATAMOV AX,DATAMOV DS,AXMOV BL,0MOV AL,A
CMPAB:	CMP AL,BJZ AB
CMPAC:	CMP AL,CJZ AC
CMPBC:	MOV DL,BCMP DL,CJZ BCJMP SK
AB:	INC BLJMP CMPAC
AC:	INC BLJMP CMPBC
BC:	INC BLMOV K,BLCMP K,3JZ KDECSK:	MOV K,BLJMP EXIST
KDEC:	DEC K
EXIST:	MOV AH,4CHINT 21H
CODE ENDSEND START

 截图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16 

第三题:

框图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_19,color_FFFFFF,t_70,g_se,x_16

 代码:

DATA SEGMENTSTRING DB 'STRN$'N DB 0
DATA ENDS
CODE SEGMENTASSUME CS:CODE,DS:DATA
START:	MOV AX,DATAMOV DS,AXMOV SI,0MOV CL,4
CHECK:	MOV AL,[SI]TEST AL,[SI]JP EVNINC NOR BYTE PTR [SI],80H
EVN:	INC SILOOP CHECK
EXSIT:	MOV AH,4CHINT 21H
CODE ENDSEND START

 截图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16 

结果如图所示:T和R进行了偶校验,因为‘T’=54H=0101 0100B,奇数个“1”

‘R’=52H=0101 0010B,奇数个“1”

第四题:

框图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16

 

 代码:

DATA SEGMENTBUF DB 11H,12H,13H,14H,15H,16H,17H,18H,19H,1AH
DATA ENDS
CODE SEGMENTASSUME CS:CODE,DS:DATA
START:	MOV AX,DATAMOV DS,AXMOV BL,10MOV SI,0CALL HEXASCMOV AH,4CHINT 21H
HEXASC PROCCHANGE:	MOV AL,BYTE PTR [SI]MOV CL,4SHR AL,CLADD AL,30HCMP AL,'9'JBE B9ADD AL,7HB9:	MOV DL,ALMOV AH,2HINT 21HCHANGE2:AND BYTE PTR [SI],0FHADD BYTE PTR [SI],30HCMP BYTE PTR [SI],'9'JBE B19ADD BYTE PTR [SI],7HB19:	MOV DL,[SI]MOV AH,2HINT 21HMOV DL,' 'MOV AH,2HINT 21HINC SIDEC BLLOOPNZ CHANGE RET
HEXASC ENDP
EXSIT:	MOV AH,4CHINT 21H
CODE ENDSEND START

截图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16

Alt+F5调出dos系统显示:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16 

 第五题:

框图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_12,color_FFFFFF,t_70,g_se,x_16

 代码:

DATA SEGMENTBUFF DB 50DB ?DB 50 DUP (?)
DATA ENDS
CODE SEGMENTASSUME CS:CODE,DS:DATA
START:	MOV AX,DATAMOV DS,AXLEA DX,BUFFMOV AH,10INT 21HMOV CL,BUFF+1MOV SI,2
CHANGE:	CMP BYTE PTR [SI],'a'JB SKIPCMP BYTE PTR [SI],'z'JA SKIPSUB BYTE PTR [SI],20H
SKIP:	INC SILOOP CHANGE
SCREEN:	LEA DX,BUFF+2MOV AH,09HINT 21H
EXSIT:	MOV AH,4CHINT 21H
CODE ENDSEND START

截图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55GGeHg=,size_20,color_FFFFFF,t_70,g_se,x_16

 分析:结果如图所示,所有小写字母转换为了大戏字母,其他不变。

 

 

  相关解决方案