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

📄 4-19.asm

📁 基于汇编语言的几个微机接口程序
💻 ASM
字号:
4-19题


TITLE   8086 Code Template (for EXE file)

;       AUTHOR          emu8086
;       DATE            ?
;       VERSION         1.00
;       FILE            ?.ASM

; 8086 Code Template

; Directive to make EXE output:
       #MAKE_EXE#

DSEG    SEGMENT 'DATA'

; TODO: add your data here!!!!
BLOCK DB 1,-4,-5,-6,8,9,1,34,-56,43,78,-89
COUNT EQU 12 
MAX DB 0
CHAR DB 'MAX=',0AH,0DH,'$'

DSEG    ENDS

SSEG    SEGMENT STACK   'STACK'
        DW      100h    DUP(?)
SSEG    ENDS

CSEG    SEGMENT 'CODE'

;*******************************************

START   PROC    FAR

; Store return address to OS:
    PUSH    DS
    MOV     AX, 0
    PUSH    AX

; set segment registers:
    MOV     AX, DSEG
    MOV     DS, AX
    MOV     ES, AX

      MOV CX,COUNT
      MOV SI,OFFSET BLOCK
LOP1: CMP [SI],0
     
      
      JGE LOP2
       
      MOV AL,[SI]
      MOV BL,-1
      IMUL BL
      MOV [SI],AL
      INC SI
      LOOP LOP1
      JMP JUST
      
LOP2: DEC CX
      JCXZ JUST
      INC SI
      JMP LOP1
JUST: MOV CX,COUNT
      MOV SI,OFFSET BLOCK
      JMP LOP3
      
LOP3:  MOV AL,[SI]
       CMP MAX,AL
       JGE LOP4
       MOV MAX,AL
       INC SI
       LOOP LOP3
       JMP JUST2
       
       
LOP4:  INC SI
       LOOP LOP3
       JMP JUST2 

JUST2: ;只显示16进制数
      MOV DX,OFFSET CHAR
      MOV AH,09H
      INT 21H
      
      MOV AL,MAX
      AND AL,0F0H
      MOV CL,4
      SHR AL,CL
      ADD AL,30H
      MOV DL,AL
      MOV AH,02H
      INT 21H
      
      AND MAX,0FH
      MOV AL,MAX
      ADD AL,30H
      MOV DL,AL
      MOV AH,02H
      INT 21H
      
     



MOV AH,4CH
INT 21H
; TODO: add your code here!!!!





; return to operating system:
    RET
START   ENDP

;*******************************************

CSEG    ENDS 

        END    START    ; set entry point.

⌨️ 快捷键说明

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