请汇编语言高手帮帮忙,高分悬赏!

2024-12-17 10:43:42
推荐回答(6个)
回答1:

由于没有相应的硬件系统可以调试,所以仅仅根据以前的作业给你两段关键程序,供参考吧。

传输端(发送机)

把字符串从COM1端口传输出去。在传输过程中,传输速率为9600波特,字长为8位,1位停止位,无齐偶校验。
.MODEL SMALL

.DATA

MSG DB "Hello, World";此处我借用hello,world字符,实际时你加一个中断调用键盘输入即可。

MLen EQU $-MSG

.CODE

.STARTUP

MOV AL, 0E3H ;0E3—9600、无齐偶校验、字长8位,1位停止位

MOV DX, 0

MOV AH, 0

INT 14H ;初始化通信口COM1

MOV BX, OFFSET MSG

MOV CX, MLen

MOV DX, 0

again:

MOV AL, [BX]

MOV AH, 1

INT 14H

TEST AH, 80H ;如果发送字符失败,继续发同一个字符,这里可能

JNZ again ;构成死循环。在实际工作过程中,还有其它考虑。

INC BX

LOOP again

.EXIT 0

END

显示端(接收机)

把从COM1端口读入的字符显示在屏幕上。如果通信端口数据未准备好,则程序处于等待状态;若传输出错,则用红色显示字符"?"。

……

again:

MOV DX, 0

MOV AH, 3

INT 14H

TEST AH, 1H ;检测状态字节AH的最后一位,看数据是否准备好

JZ again

MOV DX, 0

MOV AH, 2

INT 14H ;从COM1端口读字符

TEST AH, 80H ;检测读字符是否成功

.IF ZERO? ;读字符成功

AND AL, 7FH ;屏蔽掉最高位,使之为字符

MOV BL, 15 ;正常颜色:白色

.ELSE

MOV AL, '?' ;显示字符"?"

MOV BL, 12 ;错误颜色:红字

.ENDIF

MOV BH, 0

MOV AH, 0EH

INT 10H

JMP again

回答2:

别费劲了,没有人能帮上你的。还是你自己来吧。汇编也就是上学的时候用用吧,不上学了谁老记这个啊,没用。

回答3:

在实验系统TDN86/88上实现。! 有谁能做到?

回答4:

那么大的东西 高分能顶个屁用啊

回答5:

这个问题还得你自己解决,太费劲了!

回答6:

你花3970元估计有点戏。