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
{
...
- [ouou] 1.写出每条汇编指令执行后相关寄存器中的内容 有点错误 11/29 06:27
- [游客] 呵呵 11/27 11:02
- [游客] 上面这条狗总是把自己的名称注在留言的下面,例如狗娘养的之类,既然注明了你是狗娘养的,这么说你妈就是狗 11/26 18:50
- [游客] 上面这条狗总是把自己的名称注在留言的下面,例如狗娘养的之类,既然注明了你是狗娘养的,这么说你妈就是狗 11/26 18:50
- [ouou] J人再来跟贴啊,你在我博客里面就是没人权。 想删就删。 狗脸样,到我这里多贴点。你不是喜欢发 11/21 21:43
- [ouou] 为什么不躲到你妈肚子里去?像条狗一样在论坛乱逛,连ID都不敢上. 麻...痹, 狗娘养的。。 11/20 15:11
- [ouou] S..........B 11/20 15:03
- [ouou] ** 继续啊 你就是论坛的老鼠 哈哈~~~~~~~~~ 11/20 15:02
- [ouou] 恩 慢慢啃呢 11/19 21:14
- [ouou] 恩 11/19 21:09
- [游客] 上面这条狗总是把自己的名称注在留言的下面,例如狗娘养的之类,既然注明了你是狗娘养的,这么说你妈就是狗 11/26 18:51
[2009-11-24 01:00] 第十一章 结构、共用体和TypeDef
阅读全文 |
评论次数(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
阅读此章获得悟 性...
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...
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]的...
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. ...
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通过地址线将地址信息...
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][...
任意类型
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...
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...
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或到达数组末尾时,输入结束,然后显示该数组中的最大和最小值。...
1.puts()与printf()之间的区别是
puts()不能输出变量,且输出完后自动换行
2.输入10个整数到数组中。当输入0或到达数组末尾时,输入结束,然后显示该数组中的最大和最小值。...
阅读全文 |
评论次数(0) |
浏览次数(545) |
所属类型(《21天学通C语言》第六版)
『 查看更多文章 』