当前位置: 首页 > news >正文

遵义市住房和城乡建设厅网站phpcms套好的网站 放到空间上 后台打开的验证码不能显示

遵义市住房和城乡建设厅网站,phpcms套好的网站 放到空间上 后台打开的验证码不能显示,没有营业执照怎么样做百度企业网站,织梦网站后台密码一、Linux系统汇编语言 Linux系统上的汇编语言可以使用不同的语法风格#xff0c;主要包括Intel语法和ATT语法。这两种语法有各自的特点和风格区别#xff0c;尽管它们表示的底层机器指令相同。下面分别对两种语法进行简要说明#xff1a; Intel语法 Intel语法是由I…一、Linux系统汇编语言 Linux系统上的汇编语言可以使用不同的语法风格主要包括Intel语法和ATT语法。这两种语法有各自的特点和风格区别尽管它们表示的底层机器指令相同。下面分别对两种语法进行简要说明 Intel语法 Intel语法是由Intel公司为其处理器编写官方文档时所采用的语法。它广泛用于Windows操作系统和一些跨平台的程序中。特点是相对直观操作数的顺序是操作 目的地, 源。这意味着第一个操作数是将要被赋值的对象而第二个操作数是赋值的值。例如 mov eax, 1 ; 将数值1赋给寄存器eax ATT语法 ATT语法由Unix系统V的开发者使用并且在GNU汇编器GAS中被广泛采纳。它在用于x86架构上的Linux系统中非常普遍。与Intel语法相反它采用的是操作 源, 目的地的格式。特点是操作数带有明确的大小标识符如%eax32位寄存器和$1立即数。同样的例子在ATT语法中为 movl $1, %eax ; 将数值1赋给寄存器eax 两种语法的主要差异 - 操作数顺序Intel语法以目标, 源的顺序而ATT语法则相反采用源, 目标。 - 寄存器前缀ATT语法使用%作为寄存器前缀而Intel语法不使用。 - 立即数前缀ATT语法使用$作为立即数前缀而Intel语法不使用。 - 大小标识符ATT语法对操作数的大小使用后缀如b字节、w字、l长字32位。 - 地址表示ATT语法使用段寄存器:偏移量(基址寄存器,索引寄存器,比例因子)的格式而Intel语法则不同不使用冒号而是用括号来区分不同的寄存器角色。 - 指令后缀ATT语法的指令通常有后缀来标识操作数类型而Intel语法通常没有指令后缀。 这些差异使得同一个汇编程序在两种语法中看起来非常不同。但无论采用哪种语法最终产生的机器码是相同的只是人类编程者的表达方式不同而已。在进行汇编语言编程时需要根据所使用的工具和个人偏好来选择适合的语法。  二、Intel语法示例 Linux环境下搭建NASM 1. 安装NASM 在基于Debian的Linux发行版如Ubuntu中可以使用以下命令安装NASM sudo apt updatesudo apt install nasm 在基于Red Hat的发行版如Fedora或CentOS中使用 sudo dnf install nasm 或者较旧的版本使用yum sudo yum install nasm 2. 验证安装 安装完成后在终端验证NASM版本确认安装成功 nasm -v 编写汇编程序 创建一个名为 hello_world.asm 的文本文件并将以下汇编代码复制到文件中: section .data ; 这是数据段 msg db Hello, World!, 0xA ; Hello, World! 字符串和一个换行符 len equ $ - msg ; 字符串长度section .text ; 以下是代码段 global _start ; _start 是程序入口_start:; 写入字符串到 stdoutmov eax, 4 ; 4 是写系统调用的编号mov ebx, 1 ; 1 是文件描述符 stdoutmov ecx, msg ; 将消息的地址移到 ecxmov edx, len ; 消息的长度int 0x80 ; 调用内核; 退出程序mov eax, 1 ; 1 是退出系统调用的编号mov ebx, 0 ; 返回值 0 表示无错误int 0x80 ; 调用内核 使用汇编器编译代码 编译刚才写的 hello_world.asm。在终端中运行: nasm -f elf32 hello_world.asm -o hello_world.o 这将生成一个名为 hello_world.o 的目标文件。 链接目标文件以创建可执行文件 使用链接器创建可执行程序: ld -m elf_i386 hello_world.o -o hello_world 此命令会创建一个名为 hello_world 的可执行文件。 运行程序 运行程序并看到其输出: ./hello_world 应该会在屏幕上看到 Hello, World! 的信息。 使用调试器 如果想要观察程序在运行时的具体行为可以使用调试器例如 gdb。运行以下命令来启动调试器: gdb ./hello_world 在 gdb 中可以设置断点运行程序逐步执行指令并且观察寄存器和内存的状态。例如要运行程序直到其完成可以在 gdb 提示符下输入 run 命令 (gdb) run 要退出 gdb可以使用 quit 命令。 汇编语言依赖于使用的架构和操作系统。不同的汇编器和链接器可能需要不同的指令和参数。上述示例假设使用基于 Intel 语法的 x86 架构且在 Linux 系统上。如果在其他平台上工作需要适当调整这些命令。  三、ATT语法示例 GCC允许在C程序中嵌入汇编代码或者直接编写一个纯汇编文件并使用GCC进行编译和链接。 下面是一个使用ATT语法的简单汇编程序示例该程序在Linux系统上打印Hello, World!。这个程序是为x86架构编写的并且假设正在使用32位系统或已经安装了必要的多架构支持。 首先创建一个名为hello.s的汇编源文件 # hello.s .section .data hello_string: .string Hello, World!\n .section .text .global _start _start: # 写入系统调用 movl $4, %eax # 系统调用号 (sys_write) movl $1, %ebx # 文件描述符 (stdout) movl $hello_string, %ecx # 字符串地址 movl $14, %edx # 字符串长度包括换行符 int $0x80 # 调用内核 # 退出系统调用 movl $1, %eax # 系统调用号 (sys_exit) xorl %ebx, %ebx # 退出状态码 int $0x80 # 调用内核然后使用GCC编译并链接这个程序 gcc -static -o hello hello.s -nostartfiles -nostdlib 这里的编译选项解释如下 -static生成静态链接的可执行文件这样就不需要动态链接器来加载运行时库。-nostartfiles不链接标准启动文件这些文件通常包含程序入口点如_start因为我们已经在汇编代码中提供了。-nostdlib不链接标准C库这样GCC就不会自动包含例如libc这样的库。 编译成功后就可以运行生成的可执行文件了 ./hello 如果一切正常它应该在终端上打印出Hello, World!。 这个程序没有使用C标准库或任何其他的库函数。它直接通过Linux的系统调用来输出字符串和结束程序。此外这个程序是针对32位系统的如果正在使用64位系统需要对代码进行一些修改包括使用不同的寄存器和系统调用号。在64位系统上可能还需要使用-m32选项来告诉GCC生成32位代码并且确保已经安装了必要的32位开发工具和库。
http://www.dnsts.com.cn/news/216063.html

相关文章:

  • 福建省建设执业资格注册管理中心网站优秀国外设计网站
  • 选图片的网站只做移动端的网站
  • 辽源建站公司做网站公司凡科
  • 新光途网站建设wordpress运营服务费用
  • 淘宝 网站建设 发货学编程的费用一般是多少
  • 宝塔建站详细教程用.net做的网站
  • cpa网站建设教程百度网站的安全建设方案
  • 网站服务器租用中国大规模建设合肥
  • 免费企业建站网站建设的er图
  • 哈尔滨企业建站可以申请域名的网站
  • 做网站网页的专业征二级网站建设意见 通知
  • 品牌网站源码网站开发有什么注意的
  • 微信微网站制作教程wordpress3D翻书效果
  • dede微电影网站模板下载网站seo分析报告案例
  • 西安网站建设 招聘wordpress播放本地视频
  • 网站开发计入什么科目浙江省建设厅 网站是多少
  • 新桥企业网站建设唯一做魅惑的网站
  • 中国常用网站网址朝阳淘宝网站建设
  • 素材网站的图可以做海报吗网站搭建步骤
  • 浙江建设报名网站上海推广平台有哪些
  • 潍坊企化网站建设运营个网站需要什么条件
  • 做设计.不抠图网站部门网站建设情况汇报
  • 网上商城网站开发公司影视app开发
  • 备案的网站名称能重复备案吗免费咨询医生在线男科
  • 网站首页设计模板山东专业网站解决方案制作
  • 虚拟机做实验的网站装饰设计加盟
  • 南京制作网站服务商上海搜索引擎优化公司排名
  • 网站备案初审时间怎么样可以自己做网站
  • 官方网站建设合作协议宿州城市建设投资网站
  • 网站建好了 怎么建后台wordpress如何导出数据