汇编网首页登录博客注册
njutyangxiao的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  原泉混混,不舍昼夜。盈科而后进,放乎四海,有本着如是,是之取尔!
  • 『姓名』:杨逍
  • 『性别』:男『发送消息
  • 个人说明:
  • 详细信息『加为好友』
学习动态
最新留言

[2009-09-22 23:04] 在虚拟机virtual pc中的dos不能单步调试

点击查看原图
在虚拟机virtual pc中安装了dos7.1,也设置好了共享文件夹等功能,但是发现在里面debug 程序时,不能进行单步调试,有知道的请告诉我这是什么原因?现在这里谢过了!
有图片为证...
阅读全文 | 评论次数(0) | 浏览次数(695) | 所属类型(Assembly's Road)

[2009-09-21 00:43] 实验17初稿

assume cs:codesg  
datasg segment 
    fun_table dw fun0,fun1,fun2,input,error,space 
    fun0 db ' 0 read floopy','$' 
    fun1 db ' 1 read floopy','$'  
    fun2 db ' 2 exit program','$' 
    input db ' Please input the number[0,1,2]:','$' 
    error db ' Error ,Notice:the number is 0,1 or ...
阅读全文 | 评论次数(1) | 浏览次数(700) | 所属类型(Assembly's Road)

[2009-09-18 17:04] 17.3字符串的接收、显示以及删除(1)

点击查看原图
题目:编程,编写一个接受字符串输入的程序,应该有如下功能:

(1)在输入的同时需要显示这个字符串

(2)一般在输入回车符后,字符串输入结束

(3)能够删除已经输入的字符

分析:我没用书上的入栈出栈写,就是先看看不用书上的方法能做出来否?实现过程在源代码中有详细的分析。

源代码:

assume cs:codesg
datasg segment
    db 1024 dup(0)
datasg ends

codesg segment
    start: 
    mov ax,datasg 
    mov ds,ax
    mov s...
阅读全文 | 评论次数(1) | 浏览次数(989) | 所属类型(Assembly's Road)

[2009-09-17 19:19] 第十七章第二节题

点击查看原图
题目:编程,接受用户的键盘输入,输入‘r’,将屏幕上的字符设置为红色;输入‘g’,将屏幕上的字符设置为绿色;输入‘b’时,将屏幕上的字符设置为蓝色。

源代码:

assume cs:codesg
codesg segment

    start:

    mov ax,0
    int 16h;调用int 16h的0号功能读取键盘输入的字符,输入的字符的ascii码放在了al中,ah中放的是扫面码

    cmp al,72h;如果是字母‘r’,则跳转到show_red处
    je show_red
    cmp al,67h;如果是字母‘g’,则跳...
阅读全文 | 评论次数(0) | 浏览次数(663) | 所属类型(Assembly's Road)

[2009-09-15 19:29] 16.3求sin值的程序

点击查看原图
编写一个子程序,计算sin(x)。并在屏幕中间显示结果。

源代码:

assume cs:codesg
codesg segment
start:
       mov al,60
       call showsin

       mov ax,4c00h
       int 21h



showsin:
        jmp short show
        table dw ag0,ag30,ag60,ag90,ag120,ag150,ag180
        ag0 db '0',0
        ag30 db '0.5',0...
阅读全文 | 评论次数(3) | 浏览次数(295) | 所属类型(Assembly's Road)

[2009-09-10 10:14] 第十三章字符串转换为大写

点击查看原图
题目:编写、安装7ch的中断例程。

功能:将一个全是字母,以0结尾的字符串,转化为大写。

参数:ds:si指向字符串的首地址

应用举例:将data段中的字符串转化为大写。

源代码:

assume cs:codesg 
datasg segment
    db 'conversation',0
datasg ends  
codesg segment
    start:
    mov ax,cs
    mov ds,ax
    mov si,offset capital_s
        
    mov ax,0000h
    ...
阅读全文 | 评论次数(0) | 浏览次数(257) | 所属类型(Assembly's Road)

[2009-08-28 16:02] 第九章问题1

问题:有如下程序,填写两条指令,使该程序在运行中将s处的一条指令复制到s0处。
assume cs:codesg
codesg segment
    s: mov ax,bx
       mov si,offset s
       mov di,offset s0
       ________________
       ________________

   s0: nop
       nop

codesg ends
end s
分析:开始看这个题时,不知道该咋办?因为被题目中的把一条指令复制到s0处这句话给弄糊涂了。没有思绪去看王老师的分析时,才...
阅读全文 | 评论次数(2) | 浏览次数(289) | 所属类型(Assembly's Road)

[2009-08-26 20:37] 第七章问题7.9

编程:将datasg段中的每个单词的前4个字母改为大写字母。

解答:思路和上一篇一样,用自定义的堆栈段来存放需要存储的临时变量。只是要注意的是si的初始值要改为3,因为每个单词的前3个字符不是属于单词的,单词的开始数字为3(从0数起)。

源代码:

assume cs:codesg,ds:datasg

datasg segment
    db '1. display      ' 
    db '2. brows        '
    db '3. replace      '
    db '4. modify       '
       
dat...
阅读全文 | 评论次数(1) | 浏览次数(252) | 所属类型(Assembly's Road)

[2009-08-26 14:07] 问题7.8有关循环改进的问题

在上一篇中我们使用了dx来存储外层循环的值,等到内存循环结束之后,再把外层循环的值从dx中提取出来,送还给cx中。但是如果dx也被占用了呢?虽然我们还可以使用别的寄存器,但是cpu的寄存器还是有限的。如8086cpu就只有14个寄存器。在前一篇文章中,si,cx,ax,bx都不能用来存储cx的值,因为这些寄存器在循环中也可能要被使用到。cs,ip,ds不能用,因为cs:ip时刻都是指向当前的指令,ds则执行datasg数据段;ss,sp最好也不要用,他们总是指向栈顶。那能供我们选择的也就只有dx,di,es,bp等寄存器。可是最坏的情况是所有的寄存器都被使用了,该如何来存储外层循环的值呢?
...
阅读全文 | 评论次数(2) | 浏览次数(246) | 所属类型(Assembly's Road)

[2009-08-25 17:27] 问题7.7和7.8

题目:将datasg段中的每个单词改写成大写字母

分析:这里要知道的两个问题。1:知道如何把字母转换成大写。把其ascii码的第五位设置成0就是大写,设置成1就是小写。2:在datasg段定义的4个单词,每个的存储长度都是10h。然后可以用二维数组的概念来理解。其三:这里要应用到[bx+si+idata]的形式。

源代码:

assume cs:codesg,ds:datasg

datasg segment
    db 'file            ' 
    db 'edit            '
    db 'reen            '
...
阅读全文 | 评论次数(2) | 浏览次数(240) | 所属类型(Assembly's Road)
页码数(3):  1  2  3