频道栏目
首页 > 资讯 > 其他综合 > 正文

欢迎使用CSDN-markdown编辑器

16-05-10        来源:[db:作者]  
收藏   我要投稿

**

微机原理实验 系列

**
前言
第一次写博客,小白一只,只是因为现在我正在上这门课,在网上找不到相关代码QAQ,于是只好自己在实验室慢慢啃,不过收获真心很多,而且自己确实觉得理解地更透彻了,于是想分享一下自己的代码~~PS:估计只有选了这门课的同学才能知道我在说什么Orz,其实就是DOS下汇编。

参考的微机实验书是北大内部教材。

                  实验一  汇编语言和DOS系统

(一)汇编语言的编译与调试
代码就在书上(以后的几个实验都会有样例代码,在此就不赘述了)

(二)键盘输入和屏幕输出处理
这个代码较为简单,熟悉一下DOS下的系统调用就好了~

DATA SEGMENT
        ADDER DW 0
DATA ENDS

STACK SEGMENT
        DW 128H DUP(0)
STACK ENDS

CODE SEGMENT
        ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:
        MOV AX,DATA
        MOV DS,AX
        MOV ES,AX
        CALL IN_NUM
        MOV AL,ADDER
        MOV ADDER,0
        CALL IN_NUM
        MOV CL,ADDER
        ADD AL,CL
        DAA
        MOV BL,AL
       ; PUSH AL
        JNC NEXT
        MOV DL,'1'
        MOV AH,02H
        INT 21H
       ; POP AL
NEXT:   ;MOV BL,0
        ;MOV BL,AL
        MOV AL,BL
        MOV CL,4  
        SHR AL,CL
        ADD AL,'0'
        MOV DL,AL
        MOV AH,02H
        INT 21H
        AND BL,0FH
        ADD BL,'0'
        MOV DL,BL
        MOV AH,02H
        INT 21H
        MOV AX,4C00H
        INT 21H

IN_NUM PROC NEAR
        PUSH AX
        PUSH CX
RE_IN:  MOV AH,01H
        INT 21H
        CMP AL,0DH
        JZ EX_IN
        SUB AL,'0'
        JL RE_IN
        CMP AL,9
        JG RE_IN
        MOV AH,ADDER
        MOV CL,4
        SHL AH,CL
        ADD AH,AL
        MOV ADDER,AH
        JMP RE_IN
EX_IN:  POP CX
        POP AX
        RET
IN_NUM ENDP

CODE ENDS
END START

希望有帮助。

点击复制链接 与好友分享!回本站首页
相关TAG标签
上一篇:数据结构_线性表_顺序存储之1顺序栈2共享栈_链式存储之链栈_栈的应用举例
下一篇:冒泡排序C++实现
相关文章
热门专题推荐 vmware win7激活工具 win10激活工具 excel word office激活 小马激活工具 重装系统 数据恢复 u盘启动工具
图文推荐
文章
推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站