高手救命!!!!(帮朋友求的汇编代码,分不够再加!!!急用!!快!!!)

xzhangyu 2004-12-01 07:24:58
1.向键盘输入一个简单的十进制表达式(不超过3个数,每个数不超过3位)。如“586+54-154=”计算表达式,并将表达式和结果显示出来。

2.向屏幕开一个窗口,左上角坐标5,15,右下角坐标22,65,从键盘输入字符就会从窗口最下行开始显示。当一行字显示满后,自动上卷一行,输入的字符仍显示最低一行,窗口最高一行上卷后自动消失,输入命令串
end程序结束。
...全文
198 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Knuthocean 2004-12-05
  • 打赏
  • 举报
回复
用显示缓冲区吧,你改变内存中显示缓冲区的内容和你改变屏幕的内容是一样的,显示缓冲区的地址一般地B000或B800,有的还是C000
xzhangyu 2004-12-05
  • 打赏
  • 举报
回复
谢谢文哥了哦!我对汇编不是很懂,我帮朋友要麻烦你谢完,行不哦?
谢谢了哦!
jk88811 2004-12-03
  • 打赏
  • 举报
回复
关机睡觉啦,明天见吧!
jk88811 2004-12-03
  • 打赏
  • 举报
回复
上面的程序是第二题的,16位实模式下的程序
jk88811 2004-12-03
  • 打赏
  • 举报
回复
.MODEL SMALL
.STACK 100H
.DATA
.CODE
MAIN PROC FAR
START:
MOV AX,@DATA
MOV DS,AX
;CLEAR SCREEN
MOV AH,6
MOV AL,0
MOV BH,7
MOV CH,0
MOV CL,0
MOV DH,24
MOV DL,79
INT 10H
;LOCATE CURSOR
LOCATE:
MOV AH,2
MOV DH,21
MOV DL,14
MOV BH,0
INT 10H
;GET CHARACTERS FROM KEYBOARD
MOV CX,51
GET_CHAR:
MOV AH,1
INT 21H
CMP AL,1BH
JZ EXIT
LOOP GET_CHAR

;SCROLL UP
MOV AH,6
MOV AL,1
MOV CH,4
MOV CL,14
MOV DH,21
MOV DL,64
MOV BH,7
INT 10H
JMP LOCATE

EXIT: MOV AX,4C00H
INT 21H
MAIN ENDP
END START

不好意思啊老兄,宿舍里要关灯了,不能把那个输入END结束编写进来了,改为键入Esc退出程序,这个程序还是挺简单的,不过我的注释可能太烂了,如果真看不懂的话呢就加我QQ:286502268 咱们交流交流,加我时注明是CSDN汇编交流既可!

要不等我明天再上一次论坛看看也行!
xzhangyu 2004-12-02
  • 打赏
  • 举报
回复
谢谢楼上的,能不能把第2个题搞出来哦!小弟感激不尽哦!
大熊猫侯佩 2004-12-02
  • 打赏
  • 举报
回复
1 这是两个数相加的代码,稍加改动即可符合楼主要求,请楼主自己完成吧。

data segment
op1 dw ?
op2 dw ?
str1 db 'Please Input The 1st Number',13,10,'$'
str2 db 'Please Input The 2st Number',13,10,'$'
str3 db 'The Answer Is:','$'
data ends

code segment
assume cs:code,ds:data
start:
main proc far
push ds
sub ax,ax
push ax

mov ax,data
mov ds,ax

lea dx,str1
mov ah,9
int 21h
call dec2bin
mov op1,bx
lea dx,str2
mov ah,9
int 21h
call dec2bin
mov op2,bx
add bx,op1
lea dx,str3
mov ah,9
int 21h
call bin2dec

retf
main endp

dec2bin proc near
mov bx,0
newchar:
mov ah,1
int 21h
sub al,30h
jl exit
cmp al,9d
jg exit
cbw
xchg ax,bx
mov cx,10d
mul cx
xchg ax,bx
add bx,ax
jmp newchar
exit:
ret
dec2bin endp

bin2dec proc near
mov cx,10000d
call decdiv
mov cx,1000d
call decdiv
mov cx,100d
call decdiv
mov cx,10d
call decdiv
mov cx,1d
call decdiv
ret
bin2dec endp

decdiv proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,2
int 21h
ret
decdiv endp
code ends
end start

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧