汇编语言,计算机组成原理,操作系统学习
文章平均质量分 84
计算机的基本功
唐僧爱吃唐僧肉
这个作者很懒,什么都没留下…
展开
-
逆向调用函数与原函数地址探究
最近逆向了一个普通的小程序,源程序如下#include <stdio.h>long add(long a,long b){long x = a,y = b;return (x+y);}int main(int argc,char* argv[]){long a = 1, b = 2;printf("%d\n",add(a,b...原创 2020-02-16 15:36:14 · 469 阅读 · 0 评论 -
汇编语言局部变量bug探究
头文件sum.incinclude Irvine32.incMySample proto, first:dword,second:dword,third:dwordShowParams proto, paramCounts:dword ShowParams.asminclude sum.incparamCount = 3.datamsg1 byte "St...原创 2020-02-02 11:45:49 · 460 阅读 · 1 评论 -
x86下汇编输出闪烁问题解决
之前关于dos下汇编输出闪烁问题已经得到了很好的解决,主要是由于中间输出了空格,导致屏幕输出的内容一闪而过具体内容可以参考此博客汇编语言课程设计1 实验详解下面来介绍x86下汇编程序出现的一个bug题目如下:编写程序画一个8*8的棋盘,盘面为相互交替的灰色和白色方块。编程时可以使用Irvine32链接库的SetTextColor和Gotoxy过程,不要使用全局变量,使用每个过程中声明的参数...原创 2020-02-01 11:34:38 · 994 阅读 · 0 评论 -
汇编语言aaa指令解析,aas指令解析
aaa指令本质上是将相加后的结果拆成两个部分(拆成非压缩BCD码的形式)下面进行举例介绍1. ah = 0,al = 06h,bl = 09h,执行指令add al,bl得ah = 01h,al = 05h,aaa的作用就是将相加后al中的结果15拆分成两部分(将0fh十进制为15的数字拆分成一个1和一个5,1放在ax的高位ah中,5放在ax的低位al中)2. 看下面的汇编代码段m...原创 2020-01-30 16:45:50 · 13196 阅读 · 1 评论 -
visual studio下找不到.exe方法解决,配置Irvine32库以及配置Irvine64库的方法,以及查看标志寄存器各个位的方法
项类型调整为Microsoft Macro Assembler原创 2020-01-28 10:21:39 · 997 阅读 · 0 评论 -
windows32位下汇编语言环境搭建 visual studio环境配置
之前的文章描述了如何下载nmake命令之后对于汇编语言进行编译链接https://blog.csdn.net/znevegiveup1/article/details/104073948,本文讲述如何使用visual studio进行windows32位下汇编语言的环境搭建。1.到官网下载visualstudio,以及masm32工具,打开工具栏管理扩展选项(这里使用的是最新的visual st...原创 2020-01-25 15:37:41 · 855 阅读 · 5 评论 -
win32位下汇编语言第四章第一个窗口程序学习
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...原创 2020-01-23 21:44:05 · 230 阅读 · 0 评论 -
32位汇编下makefile文件代码总结
32位汇编语言由于需要使用nmake命令将汇编语言编译、链接,所以需要指定编译与链接的顺序,从而使得编译器能够知道如何编译各个源文件并链接生成相应的编译工作,而描述文件需要某种语法进行编写,所以需要掌握makefile文件的写法(makefile文件位于同一个汇编语言文件夹中)关于配置汇编环境请看我的另一篇博客https://blog.csdn.net/znevegiveup1/article/...原创 2020-01-23 15:25:23 · 427 阅读 · 0 评论 -
windows环境下visual c++32位汇编语言环境配置
这篇文章介绍的是windows环境下32位汇编语言环境的配置过程。1.从官网上下载masm32环境并安装这里我们选择安装在D盘2.之后,安装程序会在指定磁盘创建masm32文件夹,并在本地进行编译安装。3.配置环境变量选择控制面板-系统和安全-系统-高级系统设置-高级-环境变量-系统变量,配置相应的变量4.从官网上下载visual c++,将E:\Visual C++ 6.0\VC6...原创 2020-01-23 08:52:36 · 877 阅读 · 1 评论 -
汇编语言地址探究
源程序如下assume cs:codecode segment start:push cs pop ds mov ax,0 mov es,ax mov si,offset setscreen mov di,200h mov cx,offset screenend-setscreen;设置cx为传输长度 cld; ...原创 2020-01-08 16:41:27 · 869 阅读 · 0 评论 -
汇编语言课程设计1 实验详解
assume cs:code,ds:data,ss:stack;每写一个部分前后空行隔开,并且中间加上注释;!!!编程序不能光想,还要在纸上演算;改初始的值+仔细观察换行字符si的变化data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986...原创 2020-01-06 13:46:05 · 2461 阅读 · 2 评论 -
探究dosbox打印字符时的bug问题
程序代码assume cs:code,ds:datadata segment db 10 dup(0) ;运行完程序后数据分布为36 36 36 32 31data endscode segment;g001b程序运行结束start:mov ax,12666 mov bx,data mov ds,bx;ds=data ;ds = 076a mov si,0;...原创 2020-01-04 13:09:52 · 1604 阅读 · 0 评论 -
汇编语言探究不设置栈空间与地址时先压栈在运行子函数的时候出栈发生的问题
assume cs:codedata segment db 10 dup(0) ;运行完程序后数据分布为36 36 36 32 31data endscode segment;g001b程序运行结束start:mov ax,12666 mov bx,data mov ds,bx;ds=data ;ds = 076a mov si,0;si = 0 cal...原创 2020-01-04 12:56:49 · 257 阅读 · 0 评论 -
汇编语言写颜色闪烁的时候出现bug问题,探究显示屏显示内存区域单步调试问题
; 完成目标:在屏幕中间分别显示绿色,绿底红色,白底蓝色的字符串“welcome to masm!” ; 其它需要知道的知识点: ; 1.内存空间中,B8000H-BFFFFH共32KB的空间,为80X25彩色字符模式的显示缓冲区,向这个地址空间写入数据,写入地数据将立架出现在显示器山。; 1. 显示器显示25行,每行80个字符,每个字符可以有256种属性。 ; 2.一个字符在显示缓冲区就...原创 2020-01-03 09:53:54 · 1004 阅读 · 0 评论 -
汇编语言7~9章要点总结
1.段寄存器必须使用ds,es这种专用的段寄存器,否则会报错left operand must have segment(操作数右边要求它左边必须为某个段)and指令的作用:通过该指令将操作对象的相应位设为0,其他位不变。or指令:使操作对象的相应位设为1,其他位不变。2.大小写问题:大写字母和小写字母的其他位一样,大写字母的第五位为0,小写字母的第五位为1,这样我们就有了一种新的方法:将它...原创 2020-01-02 14:10:43 · 606 阅读 · 0 评论 -
汇编语言第4~6章要点
1.与结束相关的概念通知编译器一个段结束 段名 ends 伪指令 编译时,由编译器执行通知编译器程序结束 end 伪指令 编译时,由编译器执行程序返回 mov ax,4c00h int 21h 汇编指令 执行时,由cpu执行2.程序在编译时被发现的是语法错误,在运行时被发现的是逻辑错误,语法错误容易发现,而逻辑错误不容易被发现3.在DOS中,可执行文件中的程序p1若要运行,必须...原创 2019-12-31 13:37:57 · 185 阅读 · 0 评论 -
汇编语言第六章习题优秀代码赏析
首先创立一个Fruit的布局以及对应的Fruit java类&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_widt转载 2018-12-22 23:13:44 · 201 阅读 · 0 评论 -
汇编语言的数据先入栈再出栈之后会发生相应的变化
首先打开网络的权限 <uses-permission android:name="android.permission.INTERNET"/>接着更新activity_main.xml中的布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://sch原创 2018-12-24 23:46:04 · 1616 阅读 · 4 评论 -
汇编语言的学习总结1~3章
汇编语言学习1.不同计算机内存地址空间的分配方式是不一样的2.注意指令的两个操作对象的位数应当是一致的3.8086cpu有20位地址总线,可以传送20位地址,达到1MB的寻址能力。如果将地址从内部简单地发出,那么它只能送出16位的地址,表现出的寻址能力只有64KB4.cs为代码段寄存器,ip为指令指针寄存器,任何时刻,cpu将cs:ip指向的内容当作指令执行,每次运行后ip=ip+所读取...原创 2019-12-30 15:47:55 · 170 阅读 · 0 评论