170320 汇编-第四章-程序结构、debug跟踪,qt图片适应
2017-03-21 01:05
309 查看
1625-5 王子昂 总结《2017年3月20日》 【连续第170天总结】A.PyQt 图片插入并自适应控件汇编语言第四章B.一开始按照Qt 图片适应找到了很多教程,但是准备尝试的时候仔细一看,全是C++的代码……各种各种、类的顺序都完全不一样无奈全部关闭,重新按照PyQt5搜索,终于找到了需要的代码
self.Image1=QtGui.QImage("../../resistance.jpg") self.label.setPixmap(QtGui.QPixmap.fromImage(self.Image1).scaled(self.label.size()))
QImage在QtGui模块下,通过QPixmap.fromImage来转换成QPixmap显示在Label控件中
不过QT中使用资源文件的配置还需要研究一下,明天看看把前端的界面写好,然后尝试图片的传输。
汇编程序也是通过文本编辑器书写代码,然后编译成目标文件,再连接生成可执行文件。
一个简单的程序:
assume cs:codesg
codesg segment
mov ax,0123H
mov bx,0456H
add ax,bx
add ax,ax
mov ax,4c00H
int 21H
codesg ends
end
其中,segments...ends表示定义一个段,本段名称为codesg。
结尾的end表示汇编程序结束,注意与ends不同
assume表示某个寄存器与某个段相关联,需要以此声明
程序B运行的过程,首先需要有一个程序A把它加载入内存,当它运行完成后再将CPU的控制权归还给原程序A
称这个过程为 程序返回
mov ax,4c00H
int 21H
就是为了实现这个功能的
操作系统的外壳(shell):任何通用的操作系统,都要提供一个称为shell的程序,用户使用这个程序来操作计算机系统进行工作。
DOS中有一个程序command.com,称为命令解释器,就是DOS系统的shell。
在DOS中调用exe文件,shell就作为程序A ,将exe文件加载入内存中
可以用Debug来跟踪一个程序的运行过程,也就是让Debug来作为程序A,这样就可以看到exe程序的运行过程
Debug加载程序的过程:
找到一段起始地址为SA:0000的容量足够的空闲内存区;
在这段内存区的前256个字节中,创建一个称为程序段前缀(PSP)的数据区,DOS利用PSP来和被加载程序进行通信;
从这段内存区的256字节处开始,将程序装入,程序的地址被设为SA+10H:0;
将该内存区的段地址存入DS寄存器中,初始化其他相关寄存器后,设置CS:IP指向程序的入口
在debug中使用t命令可以单步调用程序的命令,最后一步int 21要使用-P命令
然后就可以返回debug程序了
C. 明日计划
QT前端界面描述、图片传输
汇编语言实验3
相关文章推荐
- 8086汇编语言自学经验分享 使用debug跟踪程序,进行调试
- C#中Release和debug模式下调试跟踪程序的原则和方法
- Release和debug模式下调试跟踪程序的原则和方法 C#
- 静态编译QT程序图片显示的问题
- Qt程序在运行的目标机上Gif等格式的图片无法显示问题
- Win32汇编教程二 Win32汇编程序的结构和语法
- 第四章逻辑运算和选择结构程序(上)
- Win32汇编教程二 Win32汇编程序的结构和语法
- 如何在Qt 4程序中优化布局结构
- 关于qt程序自适应屏幕分辨率的探索
- 关于Qt显示Jpg图片程序的移植和数据库的setfilter函数的问题
- Win32汇编教程二:Win32汇编程序的结构和语法
- 程序执行过程的跟踪:(用debug来跟踪一个程序的运行过程) 整理总结
- ARM汇编语言中的程序结构
- 发布qt程序发现中文乱码图片变没有变成黑色
- C#中Release和debug模式下调试跟踪程序的原则和方法(
- C# Release和debug模式下调试跟踪程序的原则和方法
- 汇编调试程序DEBUG
- 如何在Qt 4程序中优化布局结构(转载)
- 王爽汇编 第四章 第一个程序实验作业