彙編實驗 3 順序程序設計

1、求內存單元中已定義的兩個數據(855CH 與 AB43H)之差值。下面已給出一種方法,請用定義字的方法改寫實現。

DATA SEGMENT
	A DB 5CH,85H  
	B DB 43H,0ABH 
DATA ENDS 
CODE SEGMENT  
	ASSUME CS:CODE,DS:DATA 
START:  
	MOV AX,DATA  
	MOV DS,AX  
	MOV SI,0   
	MOV AL,A[SI]  
	SUB AL,B[SI]   
	MOV A[SI],AL   
	INC SI   
	MOV AL,A[SI]   
	SBB AL,B[SI]   
	MOV A[SI],AL   
	MOV AH,4CH  
	INT 21H 
CODE ENDS  
	END START

源代碼:

DATA SEGMENT
	A DW 855CH
	B DW 0AB43H 
DATA ENDS 
CODE SEGMENT  
	ASSUME CS:CODE,DS:DATA 
START:  
	MOV AX,DATA  
	MOV DS,AX  
	MOV SI,0   
	MOV AX,A
	MOV BX,B  
	CMP AX,BX
	JA MAX
	SUB BX,AX
	JMP MIN
MAX:	SUB AX,BX
MIN:	MOV AX,BX
	MOV AH,4CH  
	INT 21H 
CODE ENDS  
	END START

在這裏插入圖片描述
在這裏插入圖片描述

2、試編寫一程序,實現將一存放在 DX、AX 中的 32 位操作數循環右移 4 位。

源代碼:

DATA SEGMENT
	X DW 1234H
	Y DW 5678H
DATA ENDS
CODE SEGMENT
	ASSUME CS:CODE,DS:DATA
START:
	MOV AX,DATA
	MOV DS,AX
	MOV DX,X
	MOV AX,Y
	MOV CL,4
	MOV BL,DL
	SHL BL,CL
	MOV BH,AL
	SHL BH,CL
	SHR DX,CL
	SHR AX,CL
	OR DH,BH
	OR AH,BL
	MOV AH,4CH
	INT 21H
CODE ENDS
	END START

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章