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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
文章收藏
友情链接

[2009-11-24 01:00] 第十一章 结构、共用体和TypeDef

1.声明结构模板:
   struct data
   {
    int x;
    char y;
    int z[10];
    ...任意类型的变量,包括指针 
   };

2.声明结构变量:
   struct data
   {
    int x;
    char y;
    int z[10];
   }str,kkk; //方法1
   str.z是地址,因为z[10]为数组

   先声明结构模板,struct data str,kkk;//方法2

3.声明结构数组:
 struct data
   {
    ...
阅读全文 | 评论次数(0) | 浏览次数(523) | 所属类型(《21天学通C语言》第六版)

[2009-11-22 23:17] 第十六章 直接定址表

assume cs:code,ds:data
data segment
menu  dw sub1,sub2,sub3;等同offset sub1............
menu1 dd sub1,sub2,sub3;等同offset sub1,seg sub1...
data ends

code segment 
start:
.
.
.
sub1:
.
.
.
sub2:
.
.
code ends
end start
拿来调调还差不多,这代码根本就不用写,都现成的。这几章都这个样子,郁闷。

阅读此章获得经验值+10
阅读此章获得悟  性...
阅读全文 | 评论次数(0) | 浏览次数(619) | 所属类型(《汇编语言》第二版)

[2009-11-22 17:49] 第十章 字符和字符串

1.char *message = "abcdef"; 指针存储第一个字符的地址

2.字符串以0结尾。

3.malloc()内存分配函数,返回第一个字节的地址。void指针(任意类型的指针);分配失败,返回NULL;参数为分配的字节数。必须检测返回值。
原型: #include <stdlib.h>
      void *malloc(size_t size);

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char *str;
    str = (char *)malloc(10...
阅读全文 | 评论次数(0) | 浏览次数(540) | 所属类型(《21天学通C语言》第六版)

[2009-11-21 22:40] 第九章 指针

1.指针:存储变量地址的变量。这句话还真绕口啊。
          int *si,x=1;//声明指针p,
          si=&x;       //赋值 ,如同汇编mov si,offset x
         
2.数组名是指针常量。
          int data[10],*si;
         si=data;

3.指针算术
          int data[10],*si;
         si=data; //*si为data[0]的值         
         *(si++);//指令执行后,*si为data[1]的...
阅读全文 | 评论次数(0) | 浏览次数(629) | 所属类型(《21天学通C语言》第六版)

[2009-11-21 13:43] 第十五章 外中断

1.断码=通码+80h,长度1b,断码第七位为1,通码为0

2.不可屏蔽中断,类型码固定为2,CPU必须响应

3.sti,cli,外设中断基本为可屏蔽中断

4.BIOS中Int 9,用来键盘输入处理,工作如下:
  读出60h端口中断扫描码
  如是字符键扫描码,则把该扫描码和对应的ASC码送入内存中的BIOS键盘缓冲区;如是控制键的,则转换为状态字节,送入相应的存储空间
  对键盘系统进行相关的控制
  键盘缓冲区15b
  高字节扫描码,低字节ASC码
  0040:17为键盘状态存储单元 

5.模拟调用中断是,必须在重定位地址前CLI,定位后STI. ...
阅读全文 | 评论次数(0) | 浏览次数(507) | 所属类型(《汇编语言》第二版)

[2009-11-20 21:12] 第十四章 端口

1.CPU把接口芯片的寄存器当作端口,进行统一编址

2.CPU可以直接读写以下3个地方的数据
  CPU内部的寄存器
  内存单元
  端口

3.CPU最多定位64KB个不同的端口,端口范围0-0FFFFH

4.端口读写指令只有两条:IN从端口读取,OUT向端口写入

5.IN,OUT用法:访问8位端口用AL,访问16位端口用AX
  in al,20h  ;从20H端口取数据
  out 20h,al ;向20H端口写数据
注:当端口号>=100H,则端口号放入DX中      

6.CPU执行内存访问指令的工作顺序:
  CPU通过地址线将地址信息...
阅读全文 | 评论次数(0) | 浏览次数(553) | 所属类型(《汇编语言》第二版)

[2009-11-20 16:13] 第八章  使用数值数组

1.数组可以是那些数据类型?
  任意类型

2.声明为包含10个元素的数组,其第一个元素的下标是?
  0

3.声明为包含n个元素的一位数组,其最后一个元素的下标是?
  N-1

4.程序试图使用超出界限的下标访问数组元素,情况将如何?
   这个问题请问CPU,谢谢

5.如何声明多维数组?
    类型名  变量名[a][b][c][d]... ;

6.下述语句声明的数组总共包含多少个元素:
   int array[2][3][5][8];   
   2*3*5*8

7.上述数组的第10元素的名称是什么?
   array[0][0][...
阅读全文 | 评论次数(0) | 浏览次数(537) | 所属类型(《21天学通C语言》第六版)

[2009-11-19 22:31] 第十三章 int指令

中断过程由硬件执行,步骤:
    1.取得中断类型码n
    2.pushf
   3.clt  cli?(大概没这条指令)
   4.Push cs,push ip
   5.(ip)=(n*4),(cs)=(n*4+2)

规定使用int 配合iret,如同 call配合ret/retf 
,汇编语言编程,强调语法规则,其次再考虑技巧   

------------------------------------------------------
实验13 编写应用中断例程
1.编写安装 int7ch中断例程,功能为显示已个用0结尾的字符串。
data s...
阅读全文 | 评论次数(0) | 浏览次数(571) | 所属类型(《汇编语言》第二版)

[2009-11-16 23:04] 第十二章 内中断

assume cs:code
code segment
        jmp short codeing
string:        db 'divde overflow!'
        
codeing:
        mov ax,0b810h
        mov es,ax
        mov di,0
        mov ax,cs
        mov ds,ax
        mov si,offset string
        mov ah,0                
        mov cx,15
divloop:
        mov al,[si]
        mov es:[di],ax
        add di,2
        inc si
        loop divloop
        
        mov ax,4c00h
        i...
阅读全文 | 评论次数(2) | 浏览次数(520) | 所属类型(《汇编语言》第二版)

[2009-11-15 20:51] 第七章 信息读写基础

注:三字符序列以??开头
1.puts()与printf()之间的区别是
  puts()不能输出变量,且输出完后自动换行

2.输入10个整数到数组中。当输入0或到达数组末尾时,输入结束,然后显示该数组中的最大和最小值。...
阅读全文 | 评论次数(0) | 浏览次数(545) | 所属类型(《21天学通C语言》第六版)
『 查看更多文章 』