⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zys3.asm

📁 在汇编语言环境下
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;判断BUF单元中数据的正负,正数D1D0位清零,负数D1D0位置1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
STACK SEGMENT  STACK
	DB 200 DUP(?)
STACK ENDS
DATA SEGMENT
	BUF  DB 73H,73H,75H,82H 		;原数据 
	NUM EQU $-BUF			   	;BUF中的数据个数
	 	;存储变化后的数据:83H,70H,74H,83H	
DATA ENDS							
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:	MOV AX,DATA
			MOV DS,AX
			MOV CX,NUM
			MOV SI,OFFSET BUF		;取BUF的偏移地址给SI
			;取BUF1目标地址的偏移地址给DI
			CALL EXCHANGE
		MOV AH,4CH
			INT 21H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;AX的变化:5B83-5B83; 5B73-5B70; 5B75-5B74; 5B82-5B83
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EXCHANGE PROC
	 TS1:	MOV AL,[SI]
			INC SI
			TEST AL,80H
			JZ  TS2					;正数跳转到TS2 			
			OR AL,03H				;负数的两低位置1
			JMP TS 
    TS2:	AND AL,0FCH				;正数的两低位清零
	 TS: 	MOV [SI],AL
			;将变化后的数据存储在DI中
		  	INC SI
		  	LOOP TS1				;判断CX是否为0,为0则结束子程序
  		  	RET
EXCHANGE ENDS
CODE ENDS
	END START


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -