19.asm

来自「微机原理与接口技术的部分课后题(十几题经典的)程序」· 汇编 代码 · 共 38 行

ASM
38
字号
DATA SEGMENT
  BLOCK DB -1,2,4,5,-3,-9,8,6,-4,7
  MAX DB 0
DATA ENDS
STACK SEGMENT PARA STACK
  DB 10H DUP(?)
STACK ENDS
CODE SEGMENT
  ASSUME CS:CODE,DS:DATA,SS:STACK
START:  MOV AX,DATA                 ;装入数据段DS
        MOV DS,AX
	MOV SI,00H
	MOV BX,00H	
	MOV CX,10
L1:     MOV AL,BLOCK[SI]            
	TEST AL,80H                 ;判断正负
	JZ L2                       ;正则转移
	NEG AL                      ;负,求其绝对值
L2:     CMP MAX,AL                  ;将绝对值大的数放入MAX
	JGE L3
	MOV MAX,AL
L3:     INC SI
        LOOP L1
	MOV AL,MAX                  ;其中数转化为ASCII码
	AND AL,0FH		      
	CMP AL,09H		    ;小于等于09H说明是数字,加30H为ASCII码
	JLE J1
	ADD AL,07H 		    ;大于09H说明是字符A—F,加37H为ASCII码
J1:     ADD AL,30H                  
	MOV DL,AL
	MOV AH,02H		    ;在屏幕上显示结果
	INT 21H
	MOV AH,4CH                  ;返回
	INT 21H
CODE ENDS
  END START

      

⌨️ 快捷键说明

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