汇编语言编程

设BUF中存放有N个无符号数(或有符号数),编程实现求他们的最小值(存入AX)和最大值(存入DX)

运行后,ax中存放的是最小值e(也就是14),DX中存放的是最大值(a978),这是无符号数的比较。有符号数的比较时,把ja next1 改为jg next1 把jb next2 改为jl next2即可
dseg segment
buf dw 323,14,1ach,233,378,0c15h,325,146,132,0a978h
ccount equ $-buf
min dw ?
max dw ?
dseg ends

cseg segment
assume cs:cseg,ds:dseg
start:
mov ax,dseg
mov ds,ax
mov cl,ccount
mov ax,word ptr buf
mov min, ax
mov max, ax

mov si,2
loop1: mov ax,word ptr buf[si]
cmp ax,min
ja next1
mov min,ax
next1: cmp ax,max
jb next2
mov max,ax
next2: inc si
inc si
dec cl
dec cl
jnz loop1

mov ax,word ptr min
mov dx,word ptr max

mov ah,4ch
int 21h
cseg ends
end start
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-14
数据段和堆栈段我就不定义了,我只说下代码段,先对N个数进行从小到大的排列,再把最小值最大值给AX,和BX
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV SI,1 ;外循环次数控制
LOP1; MOV DI,SI ;内循环次数控制
INC DI
MOV AL,[BUF+SI-1] ;这里我把数的类型当做字节类型了
LOP2: CMP AL,[BUF+DI-1]
JBE NEXT ;这里的数是无符号,如果要是有符号就为JLE
XCHG [BUF+DI-1],AL
MOV [BUF+SI-1],AL ; (AL)->BUF+(SI)-1,即小者送入第i个单元
NEXT: INC DI
CMP DI,N ;内循环控制
JBE LOP2
INC SI
CMP SI,N-1 ;外循环控制
JBE LOP1
MOV AX,WORD PTR [BUF] ;把最小数给AX
MOV BX,WORD PTR [BUF+N-1] ;把最大数给BX
MOV AH,4CH
INT 21H
CODE ENDS
END START
第2个回答  2010-11-09
用CMP或CMPF指令循环比较

汇编语言编程有哪些工具?
汇编语言编程的工具主要包括编辑器、汇编编译器、链接器和调试器。首先,编辑器是用于编辑源代码的ASCII文本的工具。在Windows环境下,常用的编辑器有记事本、EditPlus、UlterEdit等;在Linux环境下,则可以使用Vi和Emacs等编辑器。这些编辑器提供了基本的文本编辑功能,使得程序员能够方便地编写和修改汇编语言...

汇编语言编程有哪些特点呢?
汇编语言编程拥有多种显著特点。首先,汇编语言具有自成平台的特性,能够直接与硬件设备交互,从而实现高效、精确的程序控制。其次,它支持面向对象编程,允许开发者通过封装、继承和多态等机制,构建复杂、可扩展的程序结构。同时,汇编语言编程还强调面向问题,注重解决特定问题的高效算法与数据结构设计。“所见...

编写汇编语言什么软件
清华大学出版社出版的《汇编语言》是经典教材,作者是朱玉龙等。该图书ISBN:7302068119。汇编语言是用二进制语言编写,即机器语言,汇编语言与处理器密切相关。每种处理器都有自己的指令系统,相应的汇编语言各不相同。问题三:一般用什么软件来写汇编程序?编写汇编语言源程序一般使用纯文本编辑器,扩展名采...

用汇编语言编写一个程序
使用汇编语言编写程序实现用户登录功能,包含用户名和密码输入与验证。程序通过结构类型定义用户名和密码信息,并实现输出、获取光标位置、设置光标位置、窗口上滚、输入密码以及用户输入错误处理等功能。主要步骤包括初始化环境、输入用户名、验证用户名、输入密码、验证密码、显示欢迎信息和结束程序。程序首先初始...

汇编语言是采用什么来编写程序的
汇编语言是一种面向机器的程序设计语言,它使用助记符代替操作码,用地址符号或标号代替地址码。助记符是程序员容易记忆的符号,而地址符号或标号是表示内存地址的符号。通过使用这些符号,汇编语言使机器语言变得更易于理解和编写,因此也被称作符号语言。使用汇编语言编写的程序,计算机不能直接执行,因为...

汇编是用什么软件编的
汇编语言编程的软件工具概览 学习并编写汇编语言,需要借助特定的软件工具。这些工具主要包括汇编器,它们能够将汇编语言代码转化为计算机能够执行的机器语言。1. 汇编器的角色与种类 汇编语言通常使用一种名为汇编器的软件来进行编译。汇编器是一种计算机程序,其核心功能是将汇编语言写的源代码转换为机器语言...

什么是汇编语言和汇编程序?怎样才能将汇编程序转变为单片机可执行文件...
汇编语言,作为一种接近机器语言的编程语言,其每一条指令都大致对应计算机的一个基本操作。例如,MOV指令用于数据传输,ADD指令用于加法运算等。汇编语言编写的程序需要经过汇编器的处理,将汇编指令转换为机器指令,这样计算机或单片机才能执行。由于汇编语言与硬件紧密相关,因此它对于系统资源的管理、性能优化...

汇编语言编程有哪些工具?
汇编语言编程的工具主要包括编辑器、汇编编译器、链接器和调试器。首先,编辑器是用于编写和编辑汇编语言源代码的工具。在Windows环境下,常用的编辑器包括记事本、EditPlus、UltraEdit等;而在Linux环境下,Vi和Emacs等则是常见的选择。这些编辑器提供了基本的文本编辑功能,使得程序员能够方便地输入和修改...

汇编语言编程有哪些工具
汇编语言编程涉及多种工具,主要包括编辑器、汇编编译器、链接器和调试器。编辑器用于编辑源代码的ASCII文本,如Windows下的记事本、EditPlus、UlterEdit等,Linux下的Vi和Emacs等。汇编编译器则是将汇编语言源程序转换为机器语言的程序,常用的有Microsoft宏汇编编译器MASM、The Netwide Assembler(NASM)和...

汇编语言是什么编程语言
答案选择A、编译程序 编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行...

相似回答
大家正在搜