自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 8086系列(24):实验3.6 键盘处理程序(2)

题目扩充键盘处理功能程序在示例3.6的基础上,增加left_shift和right_shift键的功能,即在按下left_shift键或right_shift键的同时,又按下0-9或a-z等键,则CPU显示的是键的上档符号或大写字母。思路和上一题类似,这一题增加处理的功能就是在kbint中断处理程序中判断是否按下了left_shift键或right_shift键。如何判断是否按下shift键呢,我们可以把按动状态记录在一个标志单元(kbflag1中),设按下right_shift键或按下left_s

2020-12-16 23:16:05 624

原创 8086系列(23):例3.6 键盘处理程序(1)

题目键盘处理程序思路该程序修改了键盘I/O,09号中断,并对键盘的按下和弹起进行中断检测,并把来自键盘的83个键的扫描码转换成相应的ascii字符。我们要知道事有:1、当键盘上“按下”或“放开”一个键时,如果键盘中断是允许的,就会产生一个9号中断2、键盘触点电路按照16×8=128矩阵排列每个按键分为“按下”和“放开”两种情况,通码:最高位为0断码:最高位为13、扫描码:一个字节,8位(256种情况),入60H号端口寄存器我们要做的事就是主程序:(1) 保存原来的09号中断向量

2020-12-16 22:44:16 769

原创 第七章_线程 : 线程和fork

线程和fork当线程调用fork函数时,就为子进程创建了整个进程地址空间的副本,子进程通过继承整个地址空间的副本,也会将父进程的互斥量、读写锁、条件变量的状态继承过来。也就是说,如果父进程中互斥量是锁着的,那么在子进程中互斥量也是锁着的(尽管子进程自己还没有来得及lock),这是非常不安全的,因为不是子进程自己锁住的,它无法解锁。子进程内部只有一个线程,由父进程中调用fork函数的线程副本构成。如果调用fork的线程将互斥量锁住,那么子进程会拷贝一个pthread_mutex_lock副本,这样

2020-12-14 22:41:57 479

原创 第七章_线程 : 线程属性、同步属性

线程属性默认属性可以解决大多数情况,但是如果对性能有更高的要求,就可以通过修改线程属性,降低线程栈的大小,来减少内存的使用。设置线程属性的结构体:typedef struct{ int detachstate; //线程分离状态 int schedpolicy; //线程调度策略 struct sched_param schedparam; //线程的调度参数 int inheritsched; //线程的继承性 int scope; //线程的作用

2020-12-13 10:08:59 265

原创 8086系列(22):中断响铃

题目编写一个中断处理程序,要求在主程序运行期间每隔 10秒响铃一次,同时显示‘The bell is ring!’思路代码;编写一个中断处理程序,要求在主程序运行期间,; 每隔 10秒响铃一次,同时显示‘The bell is ring!’datasg segment count dw 1 mess db 'The bell is ring!',0ah,0dh,'$'datasg endscodesg segmentmain proc far assume cs

2020-12-11 11:33:49 1758 3

原创 第七章_线程 : 线程的同步

线程属性默认属性可以解决大多数情况,但是如果对性能有更高的要求,就可以通过修改线程属性,降低线程栈的大小,来减少内存的使用。设置线程属性的结构体:typedef struct{ int detachstate; //线程分离状态 int schedpolicy; //线程调度策略 struct sched_param schedparam; //线程的调度参数 int inheritsched; //线程的继承性 int scope; //线程的作用

2020-12-06 21:37:31 231

原创 第七章_线程 : 线程的概念、创建与终止

线程的概念、创建与终止线程的概念在Linux下,能够把线程看做是最小的运行单位(进程内部运用多线程完毕任务)。而进程是最小的分配资源单位(系统以进程为单位来创建,而没有创建一个线程来运行的说法)。实际上,不管是创建进程的fork,还是创建线程的pthread_create,底层的实现都是调用同一个内核函数clone。假设复制对方的地址空间。那就会产生一个”进程”。假设共享对方的地址空间,就产生一个”线程”。进程能够看作是仅仅有一个线程的进程。由于。linux内核不区分进程和线程,仅仅在用户层面上区分。

2020-12-06 21:02:33 375

原创 1060 爱丁顿数 (25分)

1060 爱丁顿数 (25分)英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。输入格式:输入第一行给出一个正整数 N (≤10^​5),即连续骑车的天数;第二行给出 N 个非负整数,代表每天的骑车距离。输出格式:在一行中给出 N 天的爱丁顿数。输入样例:106 7 6 9 3 10 8 2 7 8

2020-12-05 10:34:32 133

原创 8086系列(21):作业6.9

题目编写一个子程序嵌套结构的程序模块,分别从键盘输入姓名及8个字符的电话号码,并以一定的格式显示出来思路主程序 TELIST:(1) 显示提示符INPUT_NAME:(2) 调用子程序INPUT_NAME输入姓名(3) 显示提示符INPUT A TELEPHONE NUMBER:(4) 调用子程序INPHONE输入电话号码(5) 调用子程序PRINTLINE显示姓名及电话号码子程序INPUT_NAME:(1) 调用键盘输入子程序GETCHAR,把输入的姓名存放在INBUF缓冲区中(1)

2020-12-02 23:22:15 417

原创 8086系列(20):十六进制到十进制的转换程序

题目十六进制到十进制的转换程序(通过寄存器传送变量),要求从键盘上输入0-FFFFH的十六进制正数转化为十进制数并在屏幕上显示出来。思路先写主程序框架,首先需要把输入的十六进制数(字符串)转化为二进制数存在bx中,然后将bx中的数十进制显示。代码;-------十六进制到十进制--------datasg segmentdatasg ends;----------------codesg segmentmain proc far assume cs:codesg,ds:dat

2020-12-02 21:50:05 2835 1

原创 8086系列(19):递归

题目将字符串反序输出思路用bx保存字符串str的首地址,每次递归调用revers,当遇到’$'符时返回,在返回的途中输出每个字符。代码datasg segment str db 'abcde','$'datasg ends;-----------------codesg segmentmain proc far assume cs:codesg,ds:datasg,es:datasgstart: push ds sub ax,ax push ax

2020-12-02 16:16:46 300

大话数值分析.pdf

史上最全的数值分析资料(可作为期末复习资料),花费N天时间精心总结出最重点的知识

2020-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除