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

📄 file1.asm

📁 用汇编语言编写的一个小程序
💻 ASM
字号:
DATA SEGMENT
   ARRAY DB 36,28,0,-12,-79,33,-5,67
   MESS DB 0AH,0DH,"The largest number is:$"
   C10 DB 10
   MAX DB 0
DATA ENDS

CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:
       MOV AX,DATA
       MOV DS,AX      ;装载DS
       LEA BX,ARRAY   ;数组首地址送BX
       MOV CX,8       ;循环计数
BEGIN: MOV DL,[BX]
       MOV DH,0       
       CMP DL,0
       JGE LARGE      ;正数跳走
       NEG DL         ;负数取反
LARGE: CMP DL,MAX
       JLE SMALL      ;比MAX小或等于,跳走
       MOV MAX,DL     ;比MAX大,将值给MAX
SMALL: INC BX
       LOOP BEGIN
       
       LEA DX,MESS
       MOV AH,09H
       INT 21H        ;输出提示信息
       
       LEA BX,ARRAY   ;数组首地址送BX
       MOV CX,8       ;循环计数
ONE:   MOV DL,[BX]
       MOV DH,0       
       CMP DL,MAX
       JE DONE        ;相等,跳走
       LOOP ONE
       
       MOV DL,2DH     
       MOV DH,0
       MOV AH,02H
       INT 21H ;向屏幕上输出负号
DONE:  MOV CX,2       ;循环计数
       MOV AL,MAX
TWO:   MOV AH,0       ;高8位清零
       DIV C10        ;执行16位除以8位
       PUSH AX        ;将余数(在AH中)压入堆栈
       LOOP TWO
       MOV CX,2       ;重置循环计数
THREE: POP DX         ;从堆栈中弹出余数(在DH中)
       XCHG DH,DL     ;将余数交换到DL
       OR DL,30H      ;转换成数字的ASCII码
       MOV DH,0
       MOV AH,02H
       INT 21H        ;输出数字
       LOOP THREE
       
       MOV AX,4C00H   ;返回DOS
       INT 21H
CODE ENDS
     END START
        
       

⌨️ 快捷键说明

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