8086 disassembler using 64 bit assembly language

8086 disassembly application. Project done during computer architecture course. Project is done using nasm(yasm) 64 bit assembly and some c functions to handle input/output. I have chosen such technologies because I was curious about few topics: Learning about asm 64 bit programming Compiling assembly executable for windows 64 platform. During the comp architecture course we were doing assembly programming for a ms dos using dosbox. I was interested in making some executable code on a windows 64 platform. Linking assembly code to some higher lever programming language library. During the comp architecture course we were using dos api (int) to handle input, output and some other manipulations. For modern platform you could use windows api function calls or libraries from higher level programming languages. I have chosen to use c and use some basic c input output functions. Understanding assembly procedure calls on 64 platform and differences between win 64 calls and unix/posix 64 calls. Disassembling some simple c applications and exploriing how assembly code is constructed using c compile. To understand how some c function calls are made I have used some super simple c programs that I decompiled using gdb. This project can be found in github.


Ubuntu install Clojure

sudo apt install default-jre sudo apt install openjdk-11-jre-headless sudo apt install openjdk-8-jre-headless sudo apt install leiningen lein repl //Install IntelliJ IDEA snap install intellij-idea-community --classic --edge intellij-idea-communituy


Program to find GCD of two polynomials

The objective is to write a program that finds greatest common divisor of two polynomials g(x) and h(x). The task does not define what form we get those two polynomials, so let's say we will get them in a form of a String, something like that: $latex ``2x^3+5x^2+8x+3``$ Let's start splitting our problem into chunks and gather some information about the steps we would need to implement. First, what is the greatest common divisor? In math, GCD of two or more integers, which are not all zero, is the largest positive integer that divides each of the integers (1). How do we find it? One way is to use the Euclidean algorithm. The intuition behind this algorithm is such: we have A and B numbers. We divide A by B and get C. If C is 0 - then B is our GCD. If it is not 0, then we set A to B and B to the reminder and continue operation until we get 0. $latex gcd(a,0)=a$ $latex gcd(a,b)=gcd( b,a\,mod\,b )$ Let's say we have 12 and 9. 12 mod 9 is 3. 9 mod 3 is 0. So our GCD is 3. Ok, now we know about GCD…


Removing supervisor password (SVP) on ThinkPad T42

Recently received two ThinkPad T42 laptops ( some company decided to upgrade its IT and were giving away them almost for free ). After turning them on got an 271 error and later was prompted to enter password. It seems battery was dead on both of those laptops and when its dead, real time clock goes bananas and you are asked for supervisor password to set the clock again ( if supervisor password was set ). Offcourse nobody knew anything about what password it was. So had to figure it out myself how to solve this situation. On ThinkPad T42 SVP password is stored on EEPROM chip 24RF08. One thing that sometimes work and was reported by many T42 users is to short pins 3 and 4 of 24RF08, procedure: Short pins 3 and 4 of 24RF08, keep them short Tun on ThinkPad Press F1 to go to BIOS If asked for password press enter Go to Security - Passwords - Supervisor password Release shorted pins Enter new password, save and reboot. Then go to BIOS again and disable SVP password by entering the password you just saved. Like they say - "it worked on my two t42 machines" ;)


ZX Spectrim 128 +3 composite video output and drive belt replacement

Did some work on ZX Spectrum 128 +3 I have. One thing was I wanted to make it work with small "TFT Color monitor" (for a car rear view). This monitor has a composite video input. First I tried using CSYNK and GND signals for a composite video input. You get the video but it was terrible quality. It seems that "The 128 ZX Spectrums including the +3 (and +2A, +2B) have audio sound modulated onto the video, which reduces the clarity of the composite signal that is available at the modulator input."(1). Then I found this document - "Video fixes and video cables for all ZX Spectrum 128K models". There is a chapter on Creating composite video-out on a +2A / +2B / +3: "Although the ZX Spectrum 128K heat sink model and the grey ZX Spectrum +2 have a composite video-out signal on pin 1 of the RGB connector, the ZX Spectrum +2A, +2B and +3 are missing this feature. Instead of the composite video signal they have a dangerous 12V on pin 1 that will seriously damage your TV or monitor! But you can add the composite video signal yourself, with the same fairly simple circuit as that…


The Shallows: What the Internet Is Doing to Our Brains

Recently have finished this book. From the times of Plato and Aristotle our brain and way of thinking is changing and adapting to our way of living. Every tool we use becomes a part of us, but also we become a part of a tool we use. Clock, written word, computers, world wide web. Everything we use changes us, changes how we think, changes how we remember things. Its a good read that raises a lot of interesting topics.


Replacing MasterFan MF120L with an beQuiet Silent Wings 3 fans

Recently was playing with the fan configurations to make my PC super quiet on idle. Noticed that biggest rattling sound comes from Master Liquid radiator fans even on low RPM. Decided to change them. Some googling led me to beQuiet Silent Wings 3 fans - Virtually inaudible operation at max. 15.5dB(A) 6-pole fan motor for less power consumption and vibration Fluid-dynamic bearing enables super-long life span of 300,000h Fan frame with funnel-shaped air inlets for extremely high air pressure After replacement, You can instantly tell than Master Wings 3 are almost inaudible comparing to stock Master Fan MF120L. And MF120L is just a garbage with an RGB led on it.


End of content

No more pages to load