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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  

[2008-08-16 22:48] 实验11

assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
begin:mov ax,datasg
      mov ds,ax
      mov si,0
      call letterc

      mov ax,4c00H
      int 21H
letterc:
      mov ch,00
    s:mov cl,ds:[si]
      jcxz ok
    ...
阅读全文 | 评论次数(0) | 浏览次数(383) | 所属类型(默认类型)

[2008-08-16 15:18] 11.3

(1)补全下面的程序,统计F000:0处32个字节中,大小在[32,128]的数据的个数.

      mov ds,ax
      mov bx,0
      mov dx,0
      mov cx,32
    s:mov al,[bx]
      cmp al,32
      jb  s0
      cmp al,128
      ja  s0
      inc dx
   s0:inc bx
      loop s

(2)补全下面的程序,统计F000:0处32个字节中,大小在(32,128)的数据的个数.
      mov ax...
阅读全文 | 评论次数(1) | 浏览次数(511) | 所属类型(汇编作业)

[2008-08-15 15:09] 11.2

CF      OF       SF      ZF       PF
sub al,al      0       0        0       1        1
mov al,10H     0       0        0       1        1
add al,90H     0       0        1       0        1
mov al,80H     0       0        1       0        1
add al,80H     1       0        0       1        1
mo...
阅读全文 | 评论次数(2) | 浏览次数(512) | 所属类型(汇编作业)

[2008-08-15 14:09] 有符号数的运算,不知总结得对不对?

有符号数的运算:
(1)先要记清楚最高位是符号位
(2)还要清楚进位和溢出是不同的概念
我们来看两个例子:
0F0H+88H=78H
可以看出最高位有效位F+8肯定有进位的了.而且它是对无符号时而言的.
再看有符号时:那么8位寄存器的范围是-128到127
0F0对应的有符号十进制数是-60,高位1代表负号,符号位不变其它位取反再加1就是60
088对应的有符号十进制数是-120,求他的有符号十进制同上. 
078对应的有符号十进制数是120,不等于-136(看到不,在-128到127范围外),故产生溢出了.

0F0+78H=68H
可以看出最高位有效位F+7肯定有进...
阅读全文 | 评论次数(0) | 浏览次数(441) | 所属类型(默认类型)

[2008-08-15 10:05] 11.1

sub al,al          ZF=  1     PF=   1     SF=  0
mov al,1           ZF=  1     PF=   1     SF=  0
push ax            ZF=  1     PF=   1     SF=  0
pop bx             ZF=  1     PF=   1     SF=  0
add al,bl          ZF=  0     PF=   0     SF=  0
add al,10          ZF=  0     PF=   1     SF=  0
...
阅读全文 | 评论次数(1) | 浏览次数(671) | 所属类型(汇编作业)

[2008-08-15 09:31] 课程设计1

assume cs:codesg,ds:datasg
datasg segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'

dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183...
阅读全文 | 评论次数(0) | 浏览次数(463) | 所属类型(默认类型)

[2008-08-13 23:39] 实验10.3

assume cs:code
data segment
db 10 dup (0)
data ends

code segment
start:mov ax,12666
      mov bx,data
      mov ds,bx
      mov si,0
      call dtoc
      mov dh,8
      mov dl,3
      mov cl,2
      call show_str

      mov ax,4c00H
      int 21H

 dtoc:push si
    s:mov dx,0
...
阅读全文 | 评论次数(0) | 浏览次数(460) | 所属类型(默认类型)

[2008-08-11 22:04] 实验九

assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends

code segment
start: mov ax,data
       mov es,ax
       mov ax,0B800H
       mov ds,ax
       mov bx,0
       mov si,0
       mov cx,16
     s:mov al,es:[bx]
       mov ds:[si+64],al
       mov ds:[si+64+160],al
   ...
阅读全文 | 评论次数(0) | 浏览次数(419) | 所属类型(默认类型)

[2008-08-11 14:22] 9.3

assume cs:code
code segment
start: mov ax,2000H
       mov ds,ax
       mov bx,0
    s: mov cl,[bx]
       mov ch,0
       inc cx ;loop指令是先把CX寄存器的值减1然后再判断是否是0
       inc bx
       loop s
   ok: dec bx ;标号而已,编译器忽略,上面的inc bx加一了,故要减一.
       mov dx,bx
       mov ax,4c00H
       int 21H
co...
阅读全文 | 评论次数(1) | 浏览次数(480) | 所属类型(汇编作业)

[2008-08-11 14:00] 9.2

assume cs:code
code segment
start: mov ax,2000H
       mov ds,ax
       mov bx,0
    s: mov ch,0
       mov cl,[bx]
       jcxz ok
       inc bx
    ok:mov dx,bx
       mov ax,4c00H
       int 21H
code ends
end start...
阅读全文 | 评论次数(1) | 浏览次数(488) | 所属类型(汇编作业)
『 查看更多文章 』