MASM

2019开发者技能调查报告之Java程序员求职必备技能分析

你离开我真会死。 提交于 2019-12-07 04:30:22
根据国外开发者平台 HankerRank 发布的2019 年开发者技能调查报告的统计数据,本文摘录程序员求职时必备技能相关的调查结果。 雇主招人时,看中哪些核心竞争力? 问题解决能力(不管企业大小,都排第1) 编程语言熟练程度(不管企业大小,排第2) 调试(不管企业大小,排第3) 系统设计(综合排第4) 性能优化(综合排第5) 剩下见下图 相比中大型公司,小公司更为看中开发者对框架的熟练程度。因为小公司追求快启动,框架有助于开发者更快速地的推送代码。 雇主招人时,看中哪些任职资质?(普通招聘人员角度) 经历/经验 portfolio/作品集(GitHub是开发者展现个人项目最佳方式之一) 教育(学历/学位) 培训(技能认证/证书) 个人品牌 有一种流行的观点认为,招聘人员更中意有名牌大学 CS 学位的人选。但事实证明,他们实际上关心的是你所做的,而不是你上学的地方。绝大多数的招聘经理表示,他们寻找开发者的技能证明,比如以往工作,多年的经验和项目/ GitHub。无论公司规模大小如何,90% 的招聘人员表示更看中开发者的「以往工作经验」和「多年的经验」。 主管们最看中什么样的任职资质? portfolio/作品集(GitHub是开发者展现个人项目最佳方式之一) 以往工作经验 工作年限 教育(学历/学位) 培训(技能认证/证书) 个人品牌 现在很多公司在招 IT 技术人才时

Anyone knows anything that can encode an asm string in bytes using c++?

别等时光非礼了梦想. 提交于 2019-12-06 16:03:59
Anyone knows anything that can encode a string in bytes using c++? asmpure do it on x86. I need something similar on x64 I need to convert strings into hexadecimal bytes i.e. "mov rdx, rax" => 48 8B D0 "add ax, 17h" => 66 83 C0 17 "sub cl, 5Bh" => 80 E9 5B Problem solved. For anyone looking for solution here it is: http://www.keystone-engine.org/ 来源: https://stackoverflow.com/questions/50465724/anyone-knows-anything-that-can-encode-an-asm-string-in-bytes-using-c

Reversing an array in assembly

蓝咒 提交于 2019-12-06 11:26:52
I'm trying to figure out how to reverse an array in assembly in a way that makes it as flexible as possible. The code I have so far is this: ; This program takes an integer array and reverses it's elements, using a loop, the SIZE, TYPE and LENGTHOF ; operators. TITLE lab4 (lab4.asm) INCLUDE Irvine32.inc .data arr DWORD 1h, 2h, 3h, 4h, 5h, 6h ; Array of integers with 6 elements. len DWORD LENGTHOF arr / 2 ; The length of the array divided by 2. ;rng DWORD LENGTHOF arr ; The complete length of the array. .code main PROC mov eax, len ; Moves the length (divided by 2) into the eax register. mov

“Function-level linking” (i.e. COMDAT generation) in MASM assembly?

情到浓时终转凉″ 提交于 2019-12-06 02:20:15
Is there any way to make MASM generate COMDATs for functions, so that unused functions are removed by the linker? (i.e. I'm looking for the equivalents of /Gy for MASM.) Not straightforward, but doable; discussed here and here . The first step involves putting each function into a separate segment with names like .text$a, .text$b, etc. This way, the assembler won't unite them into a single .text section, but the linker eventually will; there's a special rule in Microsoft linkers regarding the stuff past the $ character in the section name. The assembler will emit an .obj file with multiple

MASM: Using Current Location Counter ($) in .data declaration

流过昼夜 提交于 2019-12-05 18:17:05
I met a problem about the Current Location Counter in MASM. Here is my assembly code, and I used Visual Studio 2013 Express for assembling .386 .model flat,stdcall .stack 8192 ExitProcess proto,dwExitCode:dword .data ptr1 DWORD $ ptr2 DWORD $ ptr5 DWORD $ .code main proc mov eax, $ mov eax, $ invoke ExitProcess,0 main endp end main In my opinion, I think that ptr1, ptr2, and ptr5 should have their own location value. But it's not correct in fact. When in debugging mode, the variables show the same result. ptr1, ptr2, ptr5 have the same address and there is no offset between them. What's

What is the minimum file size of a PE file (exe) on Windows? And the minimal memory allocation? [duplicate]

╄→尐↘猪︶ㄣ 提交于 2019-12-05 14:08:52
This question already has answers here : What is the smallest possible Windows (PE) executable? (2 answers) Closed 3 years ago . What is the minimum file size of a PE file (exe) on Windows? And the minimum memory allocation? I assembled (using MASM (ml.exe) and link.exe that come with VS 10) the following code: I can not leave out kernel32.lib and ExitProcess, if I do, the program crashes. ; Assmebly options .386 .MODEL FLAT, STDCALL option casemap:none ; Include Libs includelib kernel32.lib ; Imported symbols ExitProcess PROTO :Dword Sleep PROTO :Dword ; Code .CODE start: invoke Sleep, 10000

mov ax, bx vs. mov ax, [bx]

女生的网名这么多〃 提交于 2019-12-05 12:31:44
What is the difference between the following two lines? mov ax, bx mov ax, [bx] If bx contains the value 100h and the value at memory address 100h is 23, does the second one copy 23 to ax ? Also, what is the difference between the two following lines? mov ax, 102h ; moves value of 102h into register ax mov ax, [102h] ; Actual address is DS:0 + 102h Yes. The operand between the brackets is treated as an address and the value at that memory address if fetched. 来源: https://stackoverflow.com/questions/7291915/mov-ax-bx-vs-mov-ax-bx

MASMPlus连接出错:error LNK2001: unresolved external symbol _WinMainCRTStartup

老子叫甜甜 提交于 2019-12-05 07:35:08
坑:汇编语言第三版使用的是masm5.0,网上找到了一个masm32,一看名字,不就是masm的32位版本吗。然也。。这是另外一个软件 MASM32并非是指Microsoft的MASM宏汇编器。MASM32是一个由个人开发的包含了不同版本工具组建的汇编开发工具包。它的的汇编编译器是MASM6.0以上版本中的Ml.exe,资源编译器是Microsoft Visual Studio中的Rc.exe,32位链接器是Microsoft Visual Studio中的Link.exe 接着又找到了一个MASMPlus,结果编译成功,连接不上了,报错:error LNK2001: unresolved external symbol _WinMainCRTStartup 问题:书上的教的是16位8086处理器,是在DOS下进行编译的,我们用的MASMPlus不是在dos模式下编译 解决:如下图,在系统配置中把单文件默认使用DOS模式打钩就行了 来源: https://www.cnblogs.com/luocodes/p/11914126.html

Detecting architecture at compile time from MASM/MASM64

不想你离开。 提交于 2019-12-05 06:14:17
How can I detect at compile time from an ASM source file if the target architecture is I386 or AMD64? I am using masm(ml.exe)/masm64(ml64.exe) to assemble file32.asm and file64.asm. It would be nice to create a single file, file.asm, which should include either file32.asm, or file64.asm, depending on the architecture. Ideally, I would like to be able to write something like: IFDEF amd64 include file64.asm ELSE include file32.asm ENDIF Also, if needed, I can run ml.exe and ml64.exe with different command line options. Thanks! If I understand you correctly, you're looking for some sort of built

masm division overflow

独自空忆成欢 提交于 2019-12-05 03:54:53
I'm trying divide two numbers in assembly. I'm working out of the Irvine assembly for intel computers book and I can't make division work for the life of me. Here's my code .code main PROC call division exit main ENDP division PROC mov eax, 4 mov ebx, 2 div ebx call WriteDec ret divison ENDP END main Where WriteDec should write whatever number is in the eax register (should be set to the quotient after the division call). Instead everytime I run it visual studio crashes (the program does compile however). slugster You need to zero extend your EDX register before doing the division: mov eax, 4