求汇编简单的程序一个~~~

用子程序结构编写程序:从键盘上键入0-9中任一自然数X(不考虑输入错误),用查表法求其立方值。(用主程序调用子程序来完成)。
好的话我一定追加分数以示谢意!!!

code segment
assume cs:code,ds:code
start:mov ax,code
mov ds,ax
;输入
mov ah,1
int 21h
mov byte ptr outstr[2],al
xor bx,bx
mov bl,al
and bl,0cfh
mov dx,offset outstr
mov ah,09h
int 21h
call cube
;输出
mov ax,bx
xor dx,dx
mov si,offset divn
MOV CX,3 ;循环3次输出百位、十位、个位
l1: div word ptr [SI] ;字除
push dx ;余数压栈
CMP CX,1
JZ l2 ;被除数为0时确保有输出
cmp dx,bx
jz skip ;不输出前面的0
l2: mov dl,al
OR DL,30H
mov ah,02h
int 21h ;输出
skip: pop ax ;余数出栈
xor dx,dx
inc SI
inc si
LOOP l1
MOV AH,0
INT 16H
MOV AX,4C00H
INT 21H
;输入bx
;输出bx
cube proc
shl bx,1
mov bx,table[bx]
ret
cube endp
table dw 0,1,8,27,64,125,216,343,512,729
outstr db 0ah,0dh,0
db '^3=$'
divn dw 100,10,1
code ends
end start
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-29
用C语言吧。
简单的多。

一个比较简单的汇编宏汇编程序设计急!急!非常感谢(我把分都给你,虽然...
al inc si inc bx inc di loop next mov al,0 adc al,0 mov [di],alENDMsseg segment stack ;定义堆栈段STK dw 512 dup(?) ;堆栈段有512字(1024字节)空间sseg ends ;堆栈余旦段结束竖轮扰;dseg segment ;定义数据段 ;12=0ch,34=22h,46=2ehdata1 db 12h,34h,...

汇编语言编制程序,实现从1加到100
最简短的完整程序:CODE SEGMENT ASSUME CS:CODE START:;--- MOV AX, 0 MOV CX, 100 S: ADD AX, CX LOOP S ;---基本的,就上面四行--- MOV AH, 4CH INT 21H CODE ENDS END START

用汇编语言编一个程序
)stack ENDScode SEGMENT ASSUME CS: code, DS: dataBEGIN: MOV AX, dataMOV DS, AX MOV CX, 15LOOP1: PUSH CX ; 计算第 i 行前导空格数 DEC CX JZ LABEL1LOOP2: ; 前导空格 MOV DX, OFFSET SPACE MOV AH, 09H INT 21H LOOP LOOP2LABEL1: ...

求一简单汇编程序
LJMP MAIN ;跳转到 MAIN 程序段.;--- ORG 0023H ;0023H是串行口中断的入口地址,这也是固定的.;下面写的就是串行口中断程序.CLR RI ;RI=1才发生的串口中断,必须清零,否则中断就没有个完了.MOV A, SUBF ;取出串口收到的数据.MOV P2,A ;送到P2口,外接LED...

简单的汇编语言程序设计!加急!
MOV A, 30H CLR C SUBB A, 31H ;(30H)-(31H)JC EXIT ;不够减转移 MOV 32H, 31H ;否则31H才是小数 EXIT:END --- 2. 将片内RAM单元中 30H~37H 的数据送到片外RAM的 40H~47H。MOV R0, #30H MOV R1, #40H MOV R2, #8 LOOP:MOV A, @R0 MOVX @...

汇编语言编写一简单查表程序
MAIN:MOV R5,#0 ;给初值 MOV A,R5;A=0 LP: MOVC A,@A+DPTR ;查表 MOV P1,A; 显示 MOV A,R5 INC A ;加1 MOV R5,A LCALL DELAY ;延时 CJNE A,#10,LP ;是否 到9.SJMP MAIN DELAY:MOV R3,#255 DEL1: MOV R4,#255 DEL2: NOP DJNZ R4,DEL2 DJNZ R3,DEL1 RET TAB: ...

谁给我写一个最简单的汇编语言程序
DEL1:MOV R6,#0FFH DEL2:MOV R7,#0FFH DEL3:DJNZ R7,DEL3 DJNZ R6,DEL2 DJNZ R5,DEL1 ret end 给新手的新手注释 :H表示地址 mov 是赋值的含义 R1,R2...是寄存器,main相当于C语言中主函数,是程 序的入口 0H~30H 一般用于存放中断函数无条件跳转语句(即为AJMP,SJMP,...

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

微型简单汇编程序求解
27,写出一条指令将一个字从端口1000H输出 答:MOV DX, 1000H ;将端口地址传送到DX中(80x86系统中,端口地址大于8位时,必须 先将地址存放到DX中)OUT DX,AL ;将字的低八位输出到端口1000H中 MOV AL, AH ;将字的高八位存放到AL中 OUT DX, AL ;输出字的高八位 28, ...

汇编语言编程序
程序如下,我是按在386上编的。.model small .386 .dosseg .stack 1024 .data ;DATA1 dd 81234567h DATA1 dd 7fffffffh; 最大正数 DATA2 dd 80000000h; 最小负数 ;DATA2 dd 1234;SUM dd ?.code .startup mov eax, DATA1 add eax, DATA2 jo OverFlow jmp Done OverFlow:cmp DATA1...

相似回答