The Drill 1 is all about using the debug program in windows.
The debug program is only available
on 32 bit operating system, but it can be installed on 64 systems by using a third party software like DOSbox. On this drill we learned the basic commands on assembly programming like mov, add, sub and mul. We also learned the general purpose register, pointer register, base register and index register. This registers are only present on x86 Intel architecture systems. On the first part what we did was storing a value on a register using -r command on debug. We can only change the value of the whole register, the higher and lower part of the register is cannot be change separately using -r command. The values are automatically in hexadecimal form, and if the digits entered are less than 4 the the value is automatically padded with a leading zero to compete the 16 bit size. The -a command is used to assemble an instruction to be executed, on this part we used the mov and add instruction. The -g command is used to execute all the commands in -a if no address is present to be executes, and if the address is present , it will only execute up to the entered address. The -u command or unassembled is used to view the machine code of an instruction alongside of the address. The unassembled has 2 formats, beginning address and ending address/bytes to be executed. The -t is almost similar to -p command but the -t can be used to monitor the registers and execute multiple instructions and -p can only monitor the register per instruction. The -f is used to fill the address with data and the size. On the second part, we learned on how to create an executable program using the asm file. First is that we need to encode the instruction using tasm, then it will create a obj file. If there is no error in the instruction, it will display error none, otherwise there will be a prompt and it will not create an obj file. Then the obj file is needed to be linked to create an executable file. The executable file can noe be debugged using command prompt.